Tôi cảm thấy điều này có lẽ là một câu hỏi ngu ngốc ... nhưng dù sao tôi cũng có loại hành vi tiêu đề lạ UIButton
này.Thay đổi tiêu đề UIButton thành mặc định
Nút được thiết lập và kết nối với cả hành động và thuộc tính trong IB (hành động là startButtonPushed
và thuộc tính là startButton
). Bên trong bộ điều khiển xem tôi có những hành động thiết lập như thế này:
bool buttonStateStop;
- (IBAction)startPushed:(id)sender
{
if (buttonStateStop)
{
[appD.locationManager stopSavingLocations];
startButton.titleLabel.text = @"Start";
buttonStateStop = NO;
}
else
{
[appD.locationManager startSavingLocations];
startButton.titleLabel.text = @"Stop";
buttonStateStop = YES;
}
}
Nguyên tôi đã có tiêu đề mặc định trong IB thiết lập để "Start" nhưng mỗi khi tôi nhấn nút nó sẽ thay đổi để "Stop" cho một phần nhỏ của một giây và sau đó trở lại. Tôi đã dành một thời gian cố gắng tìm ra lý do tại sao tiêu đề tiếp tục được đặt trở lại "Bắt đầu". Cuối cùng tôi đã thay đổi tiêu đề IB thành "xxxxxx" và nhận ra rằng không có vấn đề gì, tiêu đề IB được xác nhận lại ngay sau khi tiêu đề của nút thay đổi.
Câu hỏi đặt ra là: tại sao IB tiếp tục thay đổi tiêu đề của nút về mặc định? Tôi chưa bao giờ bắt gặp hành vi này trước đây. Và (rõ ràng) làm thế nào tôi có thể sửa chữa nó?
Thông tin bổ sung: tham chiếu duy nhất cho nút là @property
, @synthesize
và các câu lệnh trong mã ở trên. Chế độ xem nằm bên trong bộ điều khiển điều hướng.
Bạn nói đúng, đây là vấn đề của tôi. Hành vi rất kỳ quặc, kể từ khi tôi đã làm điều tương tự chính xác mà không gặp bất kỳ rắc rối nào trước đây. – Dustin
Thật kỳ lạ khi nó "đôi khi hoạt động!" vấn đề là trong doco họ đề cập đến bạn thay đổi ** phong cách ** (vv) của văn bản bằng cách sử dụng .titleLabel. Thật là rắc rối! – Fattie