gpt4 book ai didi

ios - UIView 作为 subview 方向框架问题

转载 作者:行者123 更新时间:2023-11-29 01:05:44 26 4
gpt4 key购买 nike

我已经将 UIView 作为 View Controller 中的 subview

@property(nonatomic,retain) IBOutlet UIView *subview;

然后我像这样在 subview 中添加自定义 UIView 类,

- (void)showdetail
{
CGRect frameToset = CGRectMake(0, 0, self.subview.frame.size.width,self.subview.frame.size.height) ;

customUIViewPaging *demoView = [[customUIViewPaging alloc] initWithFrame:frameToset];

... // so on
[self.subview addSubview:demoView];

}

在纵向模式下,它工作得很好,但在横向模式下,我正在像这样更新框架,

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self showdetail];
}

然后在它在风景和肖像中完美工作之后我从这个 View 推另一个 View 并美化推 View 回到这个 View 然后框架大小不完美( subview 框架在返回时方向不更新框架从另一个角度)

我试过放置 needsUpdateConstraints 但它似乎不起作用

[self.subview needsUpdateConstraints];

Check this example

See this

最佳答案

我不会选择自动布局方向,因为当 View 出现时您想要正确的框架...如果您想要正确的宽度,请调用它 -(void)viewDidLayoutSubviews{..}

  -(void)viewDidLayoutSubviews{ 
NSLog(@"%f",self.subview.frame.size.width); //here you get correct width
}

现在另一个问题是每次屏幕旋转或此方法调用时您都会添加 subview ..因此最好通过删除以前的 View 来防止这种情况...

关于ios - UIView 作为 subview 方向框架问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36398160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com