• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iphone - 方向发生时如何刷新 UIView?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 21:13:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的代码是这样的:

- (void)viewDidLoad
{
  [self setGridView];
}
-(void)setGridView
{
  CGRect frame; 
  frame .origin.x=0;
  frame.origin.y=20;
  frame.size.width=GRID_WEIGHT;
  frame.size.height=GRID_HEIGHT;
  GridView *ObjGridView=[[GridView alloc]initWithFrame:frame]; 

  [[NSBundle mainBundle ] loadNibNamed"GridView" owner:ObjGridView options:nil];
  [ObjGridView setGridViewFrame:frame];

  [self.view addSubview:ObjGridView.GridCellView];
  frame .origin.x+=GRID_WEIGHT;
}

- (BOOL)shouldAutorotateToInterfaceOrientationUIInterfaceOrientation)interfaceOrientation
{
  return YES;
}

此代码将 subview 添加到 View 并设置框架

我的问题: 1-当方向(横向或纵向)发生时,我如何刷新我的 View , 因为我在横向模式下设置了 subview 的框架,我也想在我的纵向 View 中使用理智的 View 。(基本上我在哪里调用这个 -(void)setGridView 委托(delegate)方法)?

2-我怎么知道,我的 subview 超出了 View 的边界,以便我可以在我的 setGridView 方法中处理 subview ?



Best Answer-推荐答案


1.Below 方法会在你的方向改变时自动调用。根据每个方向进行必要的更改。

- (BOOL)shouldAutorotateToInterfaceOrientationUIInterfaceOrientation)interfaceOrientation {

if (interfaceOrientation == UIInterfaceOrientationPortrait) {}

else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {} 

else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight) {} 

else if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {}

return YES;

}

2.您应该知道 View 的宽度和高度并相应地设置框架。这没什么大不了的。

希望这有帮助。

关于iphone - 方向发生时如何刷新 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809969/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap