1

我在文本字段中创建了一个视图应该像这样的字符方法。当我将视图从纵向更改为横向时,我的视图宽度没有改变。

  viewForautoCompleteTableView = [[UIView alloc]initWithFrame:CGRectMake(30, 120, 212, 100)];
        viewForautoCompleteTableView.autoresizingMask=UIViewAutoresizingFlexibleWidth;


        [self.view addSubview:viewForautoCompleteTableView];
        viewForautoCompleteTableView.layer.borderWidth=1;
        viewForautoCompleteTableView.layer.borderColor=[UIColor grayColor].CGColor;

谢谢你

4

2 回答 2

1

请注意: 在旋转时,self.view.frame大小不会改变,但self.view.bounds会改变,并且边界表示相对于当前界面方向的正确值。

于 2013-07-06T12:12:46.083 回答
0

有两点需要检查

. 你的 view( viewForautoCompleteTableView) 分配了吗?

. 如果要在旋转时更改宽度,则必须在didRotateFromInterfaceOrientation:UIInterfaceOrientation)fromInterfaceOrientation方法中更改视图的宽度

-(void)didRotateFromInterfaceOrientation:    (UIInterfaceOrientation)fromInterfaceOrientation{

// 设置条件来检查您的方向类型,即纵向或横向

CGSize newSize= CGSizeMake(newWidth,height); // setting new width here
CGRect viewFrame=viewForautoCompleteTableView.frame;
 viewFrame. size  = newSize;
 viewForautoCompleteTableView.frame=textFrame; // provide some animation if required 

}

注意:- 请确保您的视图已分配

于 2013-07-06T12:17:18.400 回答