iPhone + UIControls - PullRequest
       13

iPhone + UIControls

1 голос
/ 13 января 2010

Это очень общий вопрос (не относится ни к одному приложению). Просто мое стремление узнать больше.

При создании любого приложения для iPhone мы видим, что в библиотеке Interface Builder доступно несколько UIControls. Используя их, мы можем создавать все основные приложения и проекты, а также не можем настраивать их в значительной степени

Но если мы увидим в App Store, доступны тысячи приложений, где есть много UIControls, которые либо недоступны в Библиотеке, либо могут быть настроены в значительной степени.

Я хочу знать, что:

  1. Можем ли мы использовать элементы управления, отличные от доступных в Библиотеке (если да, то как и откуда это взять).

  2. Если мы не можем, то как мы можем изменить (настроить) доступные UIControls до такой степени, чтобы они выглядели совершенно иначе, чем их первоначальный основной вид.

С уважением, Pratik

Ответы [ 3 ]

3 голосов
/ 13 января 2010

Для начала можно установить изображение (включая прозрачность) для большинства контроллеров. Многие контроллеры, которые выглядят как разные элементы управления, могут на самом деле быть одними и теми же элементами управления, только заново сожженными. Многие контроллеры допускают подпредставления - удивительно, сколько всего можно достичь, просто используя настольный контроллер.

Также стоит знать, что любой элемент управления, который вы размещаете с помощью графического интерфейса, также может быть установлен в подкласс, где вы переопределяете поведение. Просто выберите элемент управления, нажмите Shift-Apple i и измените класс в Class Identity.

1 голос
/ 13 января 2010

Для пользовательских контроллеров вы можете проверить Three20 Project от Джо Хьюитта.

1 голос
/ 13 января 2010

взгляните на библиотеку three20 . Это включает в себя пользовательские стилизованные кнопки, метки и текст. Он должен дать вам общее представление о том, как настроить свои собственные элементы пользовательского интерфейса.

Часто вы не используете изображения, подобные упомянутой casebash, вместо этого вы рисуете свои элементы графическими методами.

Другое возможное решение - переопределить ваш

- (void)drawRect:(CGRect)rect

вашего UIView

Edit:
Исходный код взят из

Пользовательская кнопка UIB для Iphone

INDEX_OFFSET = 82753; // random

UIButton *sampleButton = [UIButton buttonWithType:UIButtonTypeCustom];
[sampleButton setFrame:CGRectMake(kLeftMargin, 10, self.view.bounds.size.width - kLeftMargin - kRightMargin, 52)];
[sampleButton setTitle:@"Button Title" forState:UIControlStateNormal];
[sampleButton setFont:[UIFont boldSystemFontOfSize:20]];
[sampleButton setTag:<INDEX>+INDEX_OFFSET];
[sampleButton setBackgroundImage:[[UIImage imageNamed:@"redButton.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
[sampleButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:sampleButton];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...