Подключить UILabel ни в Построителе интерфейс и Xcode?
Я пытаюсь сделать что-то простое, как добавить метку в представление в XCode и IB, и я не могу понять, как это сделать. Все образцы, которые я нахожу в интернете, предназначены для более старых версий IB, поэтому направления неверны.
У меня есть ярлык на моем .xib-файл, в моем контроллере.H файл у меня есть объявленный IBOutlet UILabel с настроенным свойством.
в моем контроллере.M файл я синтезировал это свойство.
в Interface Builder, я не могу для жизни меня рисунок как связать мою метку в моем коде с меткой на .xib. Всякий раз, когда я пытаюсь перетащить соединение с владельцем файла, единственным вариантом, который появляется, является "просмотр".
Если я смотрю на контроллер под окном библиотеки Interface Builder, метка отображается как UILabel под розетками. Я уверен, что это был тип "id", но он автоматически отображается как UILabel, и если я попытаюсь добавить "id", он тоже не работает.
может кто-нибудь точка меня где-нибудь, чтобы объяснить эту глупость? Это не должно быть так сложно сделать ярлык с текстом.
4 ответов
предполагая, что ваше представление называется ExampleView. Нажмите на владельца файла, а затем нажмите ⌘+4. Это выделит поле идентификации. Убедитесь, что имя класса совпадает с именем класса.
сохранить и закрыть построитель интерфейса, а затем перейти в Xcode и проверить:
// ExampleViewController.h
#import <UIKit/UIKit.h>
@class ExampleViewController;
@interface ExampleViewController : UIViewController {
IBOutlet UILabel *label;
}
@property (retain, nonatomic) IBOutlet UILabel *label;
@end
в вашей .файл м:
// ExampleViewController.m
#import "ExampleViewController.h"
@implementation ExampleViewController
@synthesize label;
затем сохраните файлы xcode и откройте ExampleView. Перетащите метку в виде. Вы не должны подключать эту метку к файлам владелец.
ВМЕСТО ЭТОГО ВЫ НАЖИМАЕТЕ FILEOWNER. Нажмите ⌘+2 это откроет окно соединений. потом вы увидите свой выход. Нажмите и подключите это к ярлыку.
убедитесь, что строка свойства выглядит следующим образом:
@property (nonatomic, retain) IBOutlet UILabel *label;
оставьте (или установите) тип метки как UILabel
в интерфейсе строителя. Если это не сработает, попробуйте File - > перезагрузить все файлы классов в Interface Builder. Ваш код выглядит хорошо, но CardNameLabel должен начинаться с нижнего регистра "c".
попробуйте это: нажмите на значок владельца файла, чтобы выбрать его, и перейдите на вкладку идентификатора инспектора (4-я вкладка) и проверьте значение Class
настройка. Я предполагаю, что в настоящее время он установлен в UIViewController
.
так как класс, который имеет IBOutlet
вы объявили (или должны быть) подклассом UIViewController
, вам нужно будет изменить имя класса на имя вашего подкласса (например,MyController
, или как он сейчас называется).
предположим, что у вас есть viewController и файл xib, который имеет UILabel на этом. Шаги для подключения UiLabel (также xib-файла) к вашему viewController:
1) в заголовочном файле создайте объект и свойство UiLabel для него
IBOutlet UILabel *label;
@Property (Nonatomic, retain) IBOutlet UILabel *label;
и synchthesize в реализации файлом
2) Откройте файл xib в Interface Builder
дважды щелкните "владелец файла" , затем выберите viewController в раскрывающемся списке всплывающих окон, чтобы подключите xib-файл к контроллеру
3) щелкните правой кнопкой мыши владельца файла во всплывающем диалоговом окне:
- укажите и перетащите плюш ( + ) рядом с "View" и поместите его в строку просмотра
- укажите и перетащите плюш ( + ) рядом с "label" и поместите его на этикетке на вид
= > теперь метка и представление в xib-файле подключены к контроллеру