本文主要是介绍谁说ios不可以自定义控件?(可用xib拖动的),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一个月前,作者接到任务要封装自定义可拖动的控件,当时花了1秒的时间浏览大脑做过的所有程序(包括网络上的Demo)没有发现有此类控件的封装啊?在Xcode的控件表里,确实有一个是“Custom Objects”,但是后来发现只有4.0以前版本的Xcode才能支持这个东西,它被apple抛弃了,这个是官方的解释:http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_1.html
(见最后一段)。
但是两天前,作者发现在“Indentity Inspector”导航栏下,有一个很可疑的参数——“Custom Class”它的下面还有一个更可疑的参数“User Defined Runtime Attributes”见下图
既然Apple给出了“Custom Class”,那么就意味了我们可以用自己定制的类,我是我就实验了一下,结果,果断成功!下面就给大家介绍具体的步骤:
1、首先要建立一个类:MyImgView继承UIButton
- #import <Foundation/Foundation.h>
- @interface MyImgView : UIButton
- //对外接口
- @property NSNumber *cornerRadius;
- @end
MyImgView.m 内容:
- #import "MyImgView.h"
- #import <QuartzCore/CALayer.h>
- @implementation MyImgView
- @synthesize <span style="color:#ff0000;">cornerRadius</span>;
- - (void)drawRect:(CGRect)rect
- {
- // Drawing code
- [[self layer] setCornerRadius:[cornerRadius floatValue]];
- [[self layer] setMasksToBounds:YES];
- NSLog(@"111111");
- }
- @end
3、设置此按钮的“Custom Class”和“User Defined Runtime Attributes”,如下图:
4、Run it!
本文适合懒人一族,如有纰漏,请多指正!
转自:http://blog.csdn.net/a8221379/article/details/9139487
这篇关于谁说ios不可以自定义控件?(可用xib拖动的)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!