不久之前我开始在iPad上开展我的项目,所以我遇到了很大麻烦,因为iPhone上没有出现完美显示在iPhone上的Imageview,这种情况发生在我在iPad上编译因为在故事板中imageview在那里,我通过故事板设置图像,但现在有了这个问题我也添加到代码中,imageview显示徽标所以永远不会改变图像或任何东西,只有位置:
- (void)viewDidLoad
{
[super viewDidLoad];
self.iconImageView.image = [UIImage imageNamed:@"icon.png"];
self.iconImageView.alpha = 1.0;
self.nameTexfield.delegate = self;
BOOL(isiphone5) = [[UIScreen mainScreen] bounds].size.height == 568;
if(isiphone5){
self.iconImageView.frame = CGRectMake(130, 254, 60, 60);
self.pocketImage.frame = CGRectMake(95, 212, 185, 88);
self.tasksImage.frame = CGRectMake(40, 266, 240, 114);
}else if ( [(NSString*)[UIDevice currentDevice].model hasPrefix:@"iPad"] ) {
self.iconImageView.frame = CGRectMake(452, 324, 120, 120);
self.pocketImage.frame = CGRectMake(420, 100, 185, 88);
self.tasksImage.frame = CGRectMake(392, 150, 240, 114);
}else{
self.iconImageView.frame = CGRectMake(130, 210, 60, 60);
self.pocketImage.frame = CGRectMake(95, 167, 185, 88);
self.tasksImage.frame = CGRectMake(40, 215, 240, 114);
}
[UIView animateWithDuration:.50 delay:1.5f options:UIViewAnimationOptionCurveEaseInOut animations:^{
if(isiphone5){
self.iconImageView.frame = CGRectMake(27, 226, 60, 60);
}else if ( [(NSString*)[UIDevice currentDevice].model hasPrefix:@"iPad"] ) {
self.iconImageView.frame =CGRectMake(452, 195, 120, 120);
}else{
self.iconImageView.frame = CGRectMake(27, 181, 60, 60);
}
} completion:^(BOOL finished) {}];
}
正如你所看到我有其他图像视图,问题是iconImageView
,所以我需要一些人的帮助,我真的不知道发生了什么......谢谢!
答案 0 :(得分:1)
我解决了!我激活了AutoLayout,因为当我激活它时编程帧不起作用!
答案 1 :(得分:0)
你应该不清楚明确地设置你的观点的框架,它很难维护,将来会给你带来麻烦。
您应该确保关闭自动布局,设置所有视图相对于彼此的帧,然后设置自动调整大小规则以指定它们如何处理不同的手机/平板电脑屏幕尺寸。
或者您应该启用自动布局,而不是设置和框架,并添加约束来指定每个视图的大小和位置。