2016-09-11 5 views
0

Я искал попытку изменить размер кнопки в моей сцене с помощью кода, но каждый раз, когда я загружаю сцену, размер кнопки не изменяется. Я попытался изменить размер кадра кнопки при загрузке представления, и я также попытался изменить кадр через CGRect, и никто из них, похоже, не работает. например:Как изменить размер и положение UIButton с помощью кода, а не раскадровки

clickerbutton.frame = CGRect(x: 100, y: 100, width: 1000, height: 1000) 

или

clickerbutton.frame.size = CGSize(width: 100, height: 100) 
+0

где вы поместите этот код? пожалуйста, опишите это подробно. –

+0

Я пробовал это в представлении, загрузил раздел контроллера игрового представления, который управляет сценой, и он ничего не делает, однако, когда я пытаюсь реализовать его в представлении, загрузил часть моей реальной игровой сцены, приложение вылетает и дает перед ошибкой перед загрузкой –

+0

сбои до загрузки могут возникнуть из раскадровки. есть ли ограничение на ваш кликер? –

ответ

2

Убедитесь, что вы не используете AutoLayout, как использование autoLayout не позволит вам изменить размер

кнопку Попробуйте использовать: -

let dummyBtn : UIButton = UIButton() 

    override func viewDidLoad() { 

    super.viewDidLoad() 
    dummyBtn.frame = CGRect(x: 100, y: 100, width: 200, height: 150) 
    dummyBtn.layer.backgroundColor = UIColor.blackColor().CGColor 
    self.view.addSubview(dummyBtn) 
    print(dummyBtn.frame) 

} 

func someFunction(){ 
    dummyBtn.frame = CGRectMake(x: 10, y: 10, width: 1000, height: 1000) 
    } 
+0

вы правы. – KSR

+0

Проблема была в макете и классе размеров, извините, потребовалось время, чтобы вернуться к вам –

0

Чтобы программно макет кнопки:

Добавить IBOutlets для каждого ограничения вашей кнопки и изменить их в коде.

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonTopSpaceConstraint; 
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonLeadingSpaceConstraint; 
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonWidthConstraint; 
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *myButtonHeightConstraint; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    self.myButtonLeadingSpaceConstraint.constant = 10; 
    self.myButtonTopSpaceConstraint.constant = 20; 
    self.myButtonWidthConstraint.constant = 200; 
    self.myButtonHeightConstraint.constant = 70; 

} 

Используйте следующую GitHub ссылку для загрузки образца проекта:

https://github.com/k-sathireddy/ButtonCustomLayout

Если вы хотите без ограничений:

Создание кнопки программно, а затем изменить рамку, как вы хотите.

+0

Это не сработало для меня @sathi reddy –

+0

Пожалуйста, проверьте мой проект и ответ .. – KSR