我有一個ViewController,它調用另一個包含contentView
,然後webView
的視圖。我正在嘗試在webView
之上添加按鈕,並試圖讓它們在自動調整大小掩蔽的情況下工作大約兩個小時,但沒有成功。當我試圖重置框架旋轉時,按鈕需要幾分鐘的時間重新定位,所以它看起來很滯後。這裏是我的init
方法的觀點:Autoresize Masking問題
self = [super initWithFrame:frame];
if (self) {
_contentView = [[UIView alloc] initWithFrame:frame];
_contentView.backgroundColor = [UIColor whiteColor];
_contentView.clipsToBounds = YES;
self.clipsToBounds = YES;
UIImage *facebookShare = [UIImage imageNamed:@"share_facebook_focus_pad"];
self.facebookButton = [[UIButton alloc] initWithFrame:CGRectMake(700, 150, facebookShare.size.width, facebookShare.size.height)];
//[facebookButton setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin];
[self.facebookButton setImage:facebookShare forState:UIControlStateNormal];
[_webView addSubview:self.facebookButton];
UIImage *twitterShare = [UIImage imageNamed:@"share_twitter_focus_pad"];
self.twitterButton = [[UIButton alloc] initWithFrame:CGRectMake(self.facebookButton.frame.origin.x, self.facebookButton.frame.origin.y + facebookShare.size.height, twitterShare.size.width, twitterShare.size.height)];
//twitterButton.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.twitterButton setImage:twitterShare forState:UIControlStateNormal];
[_webView addSubview:self.twitterButton];
UIImage *mailShare = [UIImage imageNamed:@"share_mail_focus_pad"];
self.mailButton = [[UIButton alloc] initWithFrame:CGRectMake(self.facebookButton.frame.origin.x, self.facebookButton.frame.origin.y + facebookShare.size.height + twitterShare.size.height, mailShare.size.width, mailShare.size.height)];
//mailButton.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.mailButton setImage:mailShare forState:UIControlStateNormal];
[_webView addSubview:self.mailButton];
[_contentView addSubview:_webView];
[self addSubview:_contentView];
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.webView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.webView.frame = CGRectMake(CGRectGetMinX(self.frame), CGRectGetMinY(self.frame), CGRectGetWidth(self.frame), CGRectGetHeight(self.frame));
}
只是簡單地添加上的_webView
頂部三個按鈕。我試圖讓他們在右上角,因此,我需要掩蓋left
和bottom
。在這裏我評論了twitter和郵件按鈕,然後用Facebook按鈕進行測試。我特別是將Facebook按鈕設置爲X座標700 - 然而,只要我取消註釋如上所示的自動大小屏蔽行,Facebook按鈕消失!這是如何發生的?除非已經旋轉,否則自動調整大小的蒙版不會與x座標一起玩耍!即使如此,它應該很好地對齊它,並將其推到右上角,因爲我掩蓋了左側和底部。這是怎麼回事?這是非常令人沮喪的 - 我已經與它鬥爭了大約2個小時!
P.S:我沒有使用Interface Builder。請不要暗示我使用它。
你的超級視圖是否有autoresizesSubviews設置爲YES? –
@OmarAbdelhafith是的 – darksky