Как создавать элементы интерфейса программно - PullRequest
2 голосов
/ 29 февраля 2012

Я хотел бы иметь возможность создавать новые элементы пользовательского интерфейса (панель UIProgressView) в отдельном контроллере UIViewController каждый раз, когда пользователь нажимает на кнопку.

Как бы я поступил так?

Ответы [ 2 ]

4 голосов
/ 29 февраля 2012

Чтобы создать UIProgressView программно, достаточно просто использовать alloc и init, установить фрейм и добавить подпредставление, например, так:

//.h

#import <UIKit/UIKit.h>

@interface ExampleViewController : UIViewController {

    //create the ivar
    UIProgressView *_progressView;

}
/*I like to back up my iVars with properties.  If you aren't using ARC, use retain instead of strong*/
@property (nonatomic, strong) UIProgressView *progressView;

@end

//.m

@implementation
@synthesize progressView = _progressView;

-(void)viewDidLoad {
    /* it isn't necessary to create the progressView here, after all you could call this code from any method you wanted to and it would still work*/
    //allocate and initialize the progressView with the bar style
    self.progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleBar];
    //add the progressView to our main view.
    [self.view addSubview: self.progressView];
    //if you ever want to remove it, call [self.progressView removeFromSuperView];

}
1 голос
/ 29 февраля 2012

Прочтите это руководство https://developer.apple.com/library/ios/#DOCUMENTATION/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingViews/CreatingViews.html

Большинство элементов пользовательского интерфейса создаются следующим образом:

UIView *view = [[UIView alloc] initWithFrame:CGRect];
//  set the property of the view here
//  ...

//  finally add your view
[ViewController.view addSubView:view];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...