我使用以下代码创建子视图:
-(void) viewDidLoad
{
CGRect subviewRect = CGRectMake(0, 0, 320, 320);
mysubview = [[UIView alloc] initWithFrame:subviewRect];
[mysubview setBackgroundColor:[UIColor whiteColor]];
[self.view addSubview:mysubview];
}
我想在这个子视图中绘制一些图形,所以我想我需要访问它的drawRect函数但是如何以编程方式将drawRect()
挂钩到mysubview?
答案 0 :(得分:3)
mysubview = [[UIView alloc] initWithFrame:subviewRect];
应该是
mysubview = [[AustinPowersView alloc] initWithFrame:subviewRect];
其中AustinPowersView
是UIView
的子类,其中您已覆盖drawRect:
答案 1 :(得分:1)
您需要继承UIView并覆盖其drawRect:方法。
虽然Apple声明
如果您的视图绘制自定义内容,请实施此方法。如果你的观点 不做任何自定义绘图,避免重写此方法。
因此,如果您只需添加“普通”UIKit界面元素,则应将它们添加为子视图,并让视图处理其绘图。
答案 2 :(得分:1)
不会对UIView
进行子类化并覆盖-drawRect:
吗?