Сначала я хотел создать UIView подкласс под названием PointsView или что-то.
Это будет выглядеть следующим образом ...
Points of [name label]:
+ + + +
1 2 3 P
- - -
Он будет иметь такие свойства, как NSString *teamName
и установить эти свойства против соответствующих меток.
Он также может иметь свойства для NSUInteger score
, поэтому вы можете установить значение оценки объекта PointView.
Все это полностью отделено от вашего UIViewController.
Теперь в вашем UIViewController подкласс вы можете сделать что-то вроде ...
PointsView *view1 = [[PointsView alloc] initWithFrame:view1Frame];
view1.teamName = @"Team 1";
view1.score1 = 1;
view1.score2 = 2;
view1.score3 = 3;
[self.view addSubView:view1];
PointsView *view2 = [[PointsView alloc] initWithFrame:view2Frame];
view2.teamName = @"Team 2";
view2.score1 = 1;
view2.score2 = 2;
view2.score3 = 3;
[self.view addSubView:view2];
Сейчас не Копируя участие. Вы просто создаете два экземпляра объекта.
EDIT
Создание вида подкласса ...
Самый простой способ создать свой вид подкласс должен сделать следующее ...
Создать файлы ... PointsView. м и PointsView.h
заголовочного файл будет выглядеть примерно так ...
#import <UIKit/UIKit.h>
@interface PointsView : UIView
@property (nonatomic, strong) UILabel *teamNameLabel;
// other properties go here...
@end
.m будет выглядеть следующим образом ...
#import "PointsView.h"
@implementation PointsView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.teamNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 21)];
self.teamNameLabel.backgroundColor = [UIColor clearColor];
[self addSubView:self.teamNameLabel];
// set up other UI elements here...
}
return self;
}
@end
Затем в контроллере представления вы добавляете PointsView к нему в коде (т.е. не с Interface Builder), как это ...
- (void)viewDidLoad
{
[super viewDidLoad];
PointsView *pointsView1 = [[PointsView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
pointsView1.teamNameLabel.text = @"Team 1";
[self.view addSubView:pointsView1];
// add the second one here...
}
Вы также можете создавать и добавлять эти представления в Interface Builder, но здесь гораздо сложнее объяснить.
Если вы настроили его таким образом, вы можете использовать IB для настройки остальной части вашего UIViewController. Просто не используйте IB для создания точек зрения. Это не будет работать так, как я показал здесь.
Я вижу, я думаю, это было то, чего я не хватало. Так что мне нужно перетащить объект в VC и назначить его подклассу, который я создал? Или я просто создаю экземпляр и назначаю ему позицию? – gdubs
Отредактировал свой ответ. – Fogmeister
Удивительно, плохо попробуйте это, как только я немного вернусь домой. Кроме того, вы знаете, что я использую раскадровки. Не уверен, что это то же самое, что и у IB. lol, довольно новый с этим. – gdubs