XCode’de ekran tasarımlarını .xib dosyası üzerinde sürükle bırak yöntemi ile yapabiliyoruz. Ancak bazı durumlarda ekranda gösterilecek nesnenin rutime esnasında yaratılıp kullanılmasını gerektiren durumlar oluşabilir. Basit olarak run time anında bir nesneyi create edip nasıl kullanacağımıza gözatalım.
UIButon sınıfından yarattığımız bir buton nesnesini initwithframe ile ekranda görüntüleneceği yer bilgisini set ediyoruz.
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 50, 50)];
Buton ile ilgili diğer özellikleri set ediyoruz.
btn.backgroundColor = [UIColor redColor];
[btn setTitle:@"deneme" forState:nil];
View’in addsubview methodu ile nesnemizi view’e ekliyoruz.
[self.view addSubview:btn];
Tanımladığımız nesnelerin event’larını da set etmemiz gerekecek. buton örneğimiz için TouchUpInside event’ını tanımlayacak olursak;
[btn addTarget:self action:@selector(cagrilacakfonksiyon) forControlEvents:UIControlEventTouchUpInside];
TouchUpInside event’ı ile cagrilacakfonksiyon isimli bir fonksiyon çağıracağımızı set ettik. bu fonksiyonumuzu sayfamız içerisinde tanımladığımız vakit işlemi tamamlamış oluruz.
-(void)cagrilacakfonksiyon{
//yapılacak işlemler
}
Eğer IPhone’nın standart dizaynına uygun bir buton oluşturmak istiyorsak initwithframe ile değilde buttonwithtype ile tanımlama yapmak ve sonrasında frame vermek daha doğru olacaktır.
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@"deneme" forState:nil];