создание uiview программно? - PullRequest
7 голосов
/ 21 декабря 2011

Создание представления со следующим кодом.

  - (void)loadView {

paintView=[[UIView alloc]initWithFrame:CGRectMake(0, 50, 320, 430)];
[paintView setBackgroundColor:[UIColor yellowColor]];
self.view = paintView;
[paintView release];

Но моя проблема в том, что весь экран заполняется желтым цветом, но я хочу с указанной рамкой.Я создаю это представление в приложении, основанном на представлении. Я делаю что-то неправильно, переопределить исходное представление?

Ответы [ 4 ]

24 голосов
/ 21 декабря 2011

Вы можете сделать это следующим образом.

  - (void)loadView {
    /// make a empty view to self.view 
    /// after calling [super loadView], self.view won't be nil anymore. 
    [super loadView]; 

    paintView=[[UIView alloc]initWithFrame:CGRectMake(0, 50, 320, 430)];
    [paintView setBackgroundColor:[UIColor yellowColor]];
    [self.view addSubview:paintView];
    [paintView release];
  };
2 голосов
/ 21 декабря 2011
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,35)];
newView.backgroundColor=[UIColor clearColor];
UITextView *mytext = [[UITextView alloc] initWithFrame:CGRectMake(5.0, 0.0, 100.0, 28.0)];
mytext.backgroundColor = [UIColor clearColor];
mytext.textColor = [UIColor blackColor];
mytext.editable = NO;
mytext.font = [UIFont systemFontOfSize:15];
mytext.text = @"Mytext";
mytext.scrollEnabled=NO;
[mytext release];
[newView addSubview:mytext];
[self.view addSubview:newView];
0 голосов
/ 21 декабря 2011

Я собираюсь изменить строку № 3 в методе LoadView, вам следует добавить подпункт в главном представлении вместо его непосредственного назначения.

[self.view addSubview:paintview];
0 голосов
/ 21 декабря 2011

заменить self.view =paintView; на

[self.view addSubview: paintView];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...