Я пытаюсь сделать это из .m пользовательского класса представления, который не загружается из XIB, а скорее программно:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.backgroundColor=[UIColor redcolor];
}
return self;
}
У меня один и тот же результат, независимо от того, поместил ли я цвет фона в initWithFrame или другие методы. свойство цвета фона не принимает. из контроллера, которому принадлежит этот пользовательский вид, я могу установить прекрасный цвет фона с помощью:
self.mycustomview.backgroundColor=[UIColor redcolor];
Но я бы хотел сделать это из самого настраиваемого представления, чтобы такие вещи оставались независимыми. и контроллер, и пользовательский вид импортируют UIKit.
Я также попробовал это, которое было доступно из Code Sense:
self.View.backgroundColor=[UIColor redcolor];
но это тоже не работает. я попробовал и view
и View
здесь. Я уверен, что пропускаю что-то очень очевидное.
в контроллере вида у меня есть, и он работает нормально. пользовательский вид называется "mapButtons.h":
- (void)viewDidLoad
{
CGRect frame=CGRectMake(0, 0, 320, 460);
self.mapButtons=[[mapButtons alloc] initWithFrame:frame];
self.mapButtons.backgroundColor=[UIColor redColor];
[self.view addSubview:self.mapButtons];
.h пользовательского представления:
#import <UIKit/UIKit.h>
@interface mapButtons : UIView