首先是新增按鈕的動作,我們定義一個新的函式用來新增按鈕,程式碼如下。
- (void)setButtonInterface
{
UIButton *_helloButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; _helloButton.frame = CGRectMake(0, 0, 100, 100);
_helloButton.center = self.view.center;
[_helloButton addTarget:self action:@selector(onHelloButton:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_helloButton];
}
程式碼中我們新增的一個按鈕 _helloButton 加上底線只是要與之前的範例作區隔,沒有特別的意思,之後把按鈕設定城圓角的樣式,就如果你直接重 Interface Builder 裡拉出的 Round Rect Button 一樣,然後設定該按鈕的大小與心點位置,最後是它的事件與所要觸發的函式,還記得剛剛我們所查看過的事件,在這裡它就叫作 UIControlEventTouchUpInside,在觸發事件與函式連結好之後 ,就將此按鈕物件放到畫面上。
之後我們在程式進入點 viewDidLoad 這個函式中加上新增按鈕的 Method,就算完成按鈕部份的設定了。 - (void)viewDidLoad { [super viewDidLoad]; [self setButtonInterface]; }
完成按鈕之後接下來就是 Label 文字框的部份,由於文字框是在按鈕被按下時才需要有對應的動作,所以這邊乾脆就直接改寫 onHelloButton: 的內容,從這邊直接動態新增我們所要的文字框。 - (IBAction)onHelloButton:(id)sender
{
UILabel *_textLabel = [UILabel new];
_textLabel.frame = CGRectMake(0, 0, 50, 20);
_textLabel.center = self.view.center;
_textLabel.backgroundColor = [UIColor colorWithWhite:255 alpha:0];
_textLabel.text = @"Hello";
_textLabel.textAlignment = UITextAlignmentCenter;
[self.view addSubview:_textLabel];
}
在上面程式碼部份,我們新增的一個文字框 _textLabel,同樣的設定他的大小與中心點位置,還有背景顏色的透明度,因為我們希望他的背景是純透明的,接著設定字串 Hello 為文字框的內容並將字體置中,最後是將新產生的文字框物件放到畫面上。
現在,執行看看,畫面上會出現一個按鈕,上面不包含任何文字,因為這時候的文字框還沒有產生,緊接著按下按鈕之後,則會秀出 Hello 的字樣。
沒有留言:
張貼留言