我试图了解UIView必须覆盖哪些方法才能显示内容。
我有一个非常简单的应用程序:
有一个UIViewController
有UIView
UIView使用视图的大小创建一个屏幕外图像,并在drawRect中绘制图像
问题:
我应该如何创建视图?调用initWithRect?或者只是初始化?我想以编程方式进行,没有故事板或笔尖。
当UIViewController设置视图边界时,调用UIView的方法是什么?我怎样才能获得这些界限(能够创建屏幕外图像)。
有人知道我在哪里可以找到UIImageView的来源吗?
注意:我一直试图这样做4天,没有成功。
答案 0 :(得分:3)
1。)initWithFrame:
1。)默认情况下,没有设置边界时自动调用的方法。如果您继承UIView
,则可以根据需要覆盖setBounds
方法。
2。)UIImageView
的来源?..标题类可在CoreFoundation.framework
中找到。
答案 1 :(得分:0)
这就是我在UIViewController中使用UIView并在UIViewController中添加UIVmageView和UITextView作为UIView的子视图时没有显示UITextview的代码,因为你没有在你的问题中询问它。
- (void)viewDidLoad
{
UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[self.view addSubview:baseView];
[baseView release];
// Displays UIImageView
UIImageView* ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 5, 300, 235)];
self.view.backgroundColor = [UIColor brownColor];
// load all the frames of our animation
ImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1a.png"],
[UIImage imageNamed:@"1b.png"],
nil];
// all frames will execute in 25 seconds
ImageView.animationDuration = 25;
// start animating
[ImageView startAnimating];
ImageView.layer.borderWidth = 2;
ImageView.layer.borderColor = [[UIColor whiteColor]CGColor];
[ImageView.layer setMasksToBounds:YES];
[ImageView.layer setCornerRadius:15.0f];
[baseView addSubview:ImageView];
}
希望它对你有所帮助。
答案 2 :(得分:0)
您需要在自定义ViewController类中覆盖-(void)loadView
:
UIView *baseView = [[UIView alloc] init];
self.view = baseView;
[super loadView];
从那里你可以创建一个自定义的UIView,它添加了ViewController的view属性。