我的CGFrame不显示

时间:2013-05-09 05:32:15

标签: ios xcode4 quartz-graphics cgrect

我正在尝试使用下面的代码构建使用CGFrame的示例

- (void)viewDidLoad
{
  [super viewDidLoad];    
  CGRect newFrame = [note_view frame];
  if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))
    newFrame.size.height += 223;
  else
    newFrame.size.height += 70;
  [UIView beginAnimations:nil context:nil];
  [UIView setAnimationDuration:0.2];
  [UIView setAnimationDelegate:self];
  [UIView setAnimationCurve:UIViewAnimationOptionCurveEaseInOut];
  [note_view setFrame:newFrame];
  [UIView commitAnimations];

}

- (void)loadView {
  [super loadView];
  NSString *pupil;
  UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(saveAndExit)];
  [[self navigationItem] setLeftBarButtonItem:done];
  UIBarButtonItem *date = [[UIBarButtonItem alloc] initWithTitle:@"Date Notes" style:UIBarButtonItemStyleBordered target:self action:@selector(dateNote)];
  [[self navigationItem] setRightBarButtonItem:date];
  [[self navigationItem] setTitle:@"Notes - " ];
  note_view = [[UITextView alloc] init];
  [note_view setBackgroundColor:[UIColor whiteColor]];
  [note_view setFont:[UIFont systemFontOfSize:17]];
  [[note_view layer] setCornerRadius:5];
  [[note_view layer] setBorderWidth:2];
  [[note_view layer] setBorderColor:[[UIColor colorWithRed:0.3882352941 green:0.6 blue:0.8117647059 alpha:1] CGColor]];
  [[note_view layer] setShadowOpacity:1];
  [[note_view layer] setShadowColor:[[UIColor colorWithRed:0.3882352941 green:0.6 blue:0.8117647059 alpha:1] CGColor]];
  [[note_view layer] setShadowRadius:10];
  [[note_view layer] setMasksToBounds:NO];

  [[self view] addSubview:note_view];
}

框架不会显示,我只是得到一个空白屏幕,我错过了什么?

1 个答案:

答案 0 :(得分:0)

我发现你的代码中存在一个问题。

问题:你没有给出note_view的宽度,这意味着它被视为0这就是为什么你的note_view一旦设置宽度就不可见并检查它来了。

note_view.frame=CGRectMake(0, 0, 100, 10);

if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])){
        newFrame.size.height += 223;
        newFrame.size.width = 100;

    }
    else
    {
        newFrame.size.height += 70;
        newFrame.size.width = 100;
    }