Khung cảnh báo cho thanh điều hướng trong danh sách của bạn sẽ khác nhau trong thời gian chạy xuất hiện trong Xcode 8 Swift 3


143

Trước khi tôi nâng cấp lên, Xcode 8tôi chưa thấy lỗi này trong trường hợp như vậy. Tôi có bộ điều khiển dẫn đường khác nhau. Đối với tất cả chúng tôi thấy một lỗi Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375. Trong thực tế, các Bộ điều khiển Điều hướng không có Navigation bar. Navigation bartồn tại cho các cuộc phỏng vấn. Dù sao tôi có thể giải quyết nó bằng cách đánh dấu và bỏ chọn hộp kiểm Shows navigation bartrong Attributes inspector. Nhưng thật không may, mỗi khi tôi mở lại Main.storyboardcảnh báo này lại xuất hiện. Ngoài ra nếu tôi nhấp vào hình tam giác màu vàng và sau đó vào khung cập nhật thì không có gì xảy ra.

nhập mô tả hình ảnh ở đây


1
Vấn đề tương tự ở đây đã được xác nhận. Không có nghị quyết nào được đề xuất khắc phục vấn đề.
GregP

@GregP vui lòng kiểm tra giải pháp của tôi và trả lời
KSR

@Ashish Kakkad vui lòng kiểm tra giải pháp của tôi và trả lời
KSR

Đã đăng ký: // 28844288. Vui lòng lừa đảo openradar.me/radar?id=4985464104681472
Guillaume Algis

Đây là cảnh báo cuối cùng của tôi đang làm phiền tôi sau khi cập nhật dự án của tôi.
Sethmr

Câu trả lời:


154

Cảnh báo sẽ biến mất nếu bạn thay đổi thuộc tính "Kích thước mô phỏng" thành "Freeform".


37
Điều này không giải quyết vấn đề. Đóng Xcode và mở lại, vấn đề sẽ trở lại.
Ashish Kakkad

2
Điều này đang làm tôi thất vọng .. Tôi mới thử cái này và nó tạm thời xóa cảnh báo . Bạn luôn có thể chuyển đổi Kích thước mô phỏng qua lại để xóa cảnh báo khi nó quay lại. Siêu. Làm phiền.
nekonari

5
Chỉ là một sửa chữa tạm thời - đây không phải là câu trả lời.
emem

5
Thay đổi Kích thước mô phỏng này (và quay lại 'Suy ra' hoặc bất cứ điều gì) hoặc "bật / tắt điều chỉnh các phần tử xem trên Scrollview" . Cả hai sẽ khiến Storyboard loại bỏ nó misplaced="YES". Đây là một lỗi Xcode và cách khắc phục này là một loại làm mới lực lượng. Lấy từ câu trả lời @buildsucceeded.
bauerMusic

1
@MobileBloke Bằng cách làm mới tôi có nghĩa là nó sẽ khiến chế độ xem Storyboard viết lại (làm mới) các thông số, đánh giá lại và xóa cảnh báo. Đó thực sự là một sự làm mới, lực lượng chỉ có nghĩa là nó không tự động làm điều đó (vì nó nên) và cần một số thay đổi tùy ý thủ công.
bauerMusic

35

Như đã đề cập ở đây, bạn có thể khắc phục điều này bằng cách bật / tắt Điều chỉnh các phụ trang Scrollview.


4
Wow, và (kiểm tra git) theo nghĩa đen tất cả những gì xảy ra khi bạn làm điều này là misplaced="YES"bị loại bỏ. : /
xây dựng vào

7
Điều đó sửa nó cho đến lần tiếp theo bạn đóng và mở lại dự án. Không phải là một sửa chữa hoàn chỉnh.
Casey Wagner

15

Tôi đã thay đổi từ Xem dưới dạng: iPhone 6S thành iPhone 5S, sau đó đổi lại thành iPhone 6S và Xcode đã thực hiện tất cả các thay đổi để xóa cảnh báo.


2
Điều này hoạt động trong một thời gian ngắn - sau đó sau khi Xcode thực hiện lại - điều tương tự đã xảy ra và cảnh báo lại xảy ra. Điều này vẫn còn làm việc cho bạn trên Xcode mới nhất phải không?
UKDataGeek

12

Điều này làm việc với tôi tại Xcode 8.3.1 Sau khi khởi động lại Xcode, nó vẫn hoạt động.

nhập mô tả hình ảnh ở đây

  1. Chọn Bộ điều khiển Điều hướng

nhập mô tả hình ảnh ở đây

  1. Đi đến Hiển thị thanh tra kích thước

nhập mô tả hình ảnh ở đây

  1. Thay đổi kích thước mô phỏng thành dạng tự do

nhập mô tả hình ảnh ở đây

  1. Thay đổi kích thước mô phỏng trở lại thành cố định

nhập mô tả hình ảnh ở đây

  1. Sau đó, các cảnh báo biến mất.

nhập mô tả hình ảnh ở đây


Bất cứ ý tưởng tại sao điều này sẽ làm việc và không nút "Cập nhật khung"?
Mangan

@guoc, bạn có thể giúp tôi xin vui lòng stackoverflow.com/questions/46375778/ cấp ?
Tháng 5 Phyu

7

Như một cách giải quyết chỉ để loại bỏ cảnh báo khó chịu, tôi đã chỉnh sửa Main.storyboard bằng tay bằng cách xóa 'thất lạc' trong:

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

Một bản hack nhưng thật tuyệt khi không có cảnh báo nào hơn là 1 :)


Tôi sẽ phải thêm điều này trở lại sau? Tôi không thực sự quan tâm Bộ điều khiển điều hướng của mình trông như thế nào miễn là tôi không có cảnh báo. Thật là buồn cười. Bảng phân cảnh nhận ra cảnh báo cho một phần giây và sau đó nó sẽ biến mất khi bạn vào bảng phân cảnh theo cách này.
Sethmr

Tôi đã làm điều tương tự và sau đó không chạm vào bảng phân cảnh một lần nữa. Mọi thứ hoạt động tốt.
Triệu

Vấn đề là khi bạn tải lại nó sẽ quay trở lại ... có ai khác nhận thấy rằng phải mất một thời gian dài để tải bảng phân cảnh với spinner chạy khi xảy ra lỗi này không?
UKDataGeek

6

Nhấp vào "Xem dưới dạng" ở dưới cùng bên trái của bảng phân cảnh của bạn và chọn một kích thước thiết bị khác, sau đó nhấp lại vào nó và hoán đổi trở lại kích thước thiết bị bạn đã bắt đầu. Điều này làm việc cho tôi.


1
nó cũng chỉ tạm thời sửa nó cho tôi
zero3nna

3

Cho đến khi Xcode 8 được vá, bạn có thể đặt tùy chọn "Xem dưới dạng:" thành "iPhone SE" để loại bỏ cảnh báo. Không lý tưởng, nhưng làm việc cho bây giờ.


Tôi đang sử dụng SE .. nhưng vẫn cảnh báo
Abdul Waheed

1
Vâng, tôi biết. Nhưng họ sẽ biến mất bất cứ khi nào bạn chuyển lựa chọn đó sang thứ khác. Ngày nay, tôi bắt đầu với 7, chuyển sang SE, sau đó quay lại 7 để xóa những cảnh báo này. Hoặc chỉ để lại chúng, và chỉ không kiểm tramisplaced các thuộc tính khi cam kết thay đổi.
nekonari

3

Tôi đã thử tất cả các đề xuất trên nhưng nó dường như không hoạt động. Tôi nghĩ rằng nó có thể là một lỗi nghiêm trọng hơn.

Tôi đã đăng nhập một lỗi với Apple Bug Reporter (link: https://ormsreport.apple.com/logon ) - nếu bạn muốn làm như vậy, thì vui lòng tham khảo lỗi: 31355220để Apple có thể liên kết nó với nhau. Càng nhiều người báo cáo nó - họ sẽ càng có nhiều thông tin để khắc phục sự phiền toái này.


2

Tôi đã có thể loại bỏ hoàn toàn vấn đề bằng cách đặt kích thước mô phỏng của bộ điều khiển chế độ xem ở dạng tự do và sau đó đặt chiều rộng từ 375 đến 320.


Bạn chỉ cần đặt nó trên các bộ điều khiển xem không có cha mẹ (bộ điều khiển xem gốc + có thể nhiều hơn, tùy thuộc vào những gì bạn có trong bảng phân cảnh của mình)
thetrutz

1

Có cùng một vấn đề, đây là những gì tôi đã làm để khắc phục:

Mở rộng thông tin lỗi và bấm vào chi tiết cảnh báo. Xcode sau đó sẽ tự động mở cài đặt kích thước / vị trí. Thay thế giá trị hiện tại bằng giá trị được đề xuất trong chi tiết cảnh báo.

nhập mô tả hình ảnh ở đây

Về cơ bản, đảm bảo rằng kích thước trong thời gian chạy của bạn giống với kích thước bạn đã chỉ định trong trình kiểm tra kích thước.

Bạn cũng có thể nhấp vào biểu tượng bên cạnh hình ảnh bạn đã đăng (hình tam giác màu vàng với hình tròn màu trắng. Đôi khi, biểu tượng hình tròn màu đỏ) sau đó sẽ có các tùy chọn để tự động sửa / điều chỉnh các vấn đề.

nhập mô tả hình ảnh ở đây

Tôi đã chọn tùy chọn ràng buộc cập nhật sau đó điều chỉnh các ràng buộc mới cho phù hợp.


4
Không hoạt động trong tình huống này. Các trường X / Y / Width / height cho Thanh điều hướng đều có màu xám / không thể chỉnh sửa.
Slipp D. Thompson

@Ian Hmmm từ chối Tôi nghĩ rằng tôi vừa mới chỉnh sửa xib để các con số khớp với nhau.
Slipp D. Thompson

1

Đối với tôi, vấn đề là tôi đã ẩn thanh dưới cùng khi đẩy (sử dụng hộp kiểm IB).

tôi đã phải chọn tùy chọn 'none' trong 'thanh dưới cùng':

nhập mô tả hình ảnh ở đây


0

Được rồi, có vẻ như tôi đã khắc phục vấn đề. Đây là những gì tôi đã làm.

Chọn khung cập nhật như bình thường. Mở một tệp khác và sau đó nhấp lại vào tệp bảng phân cảnh. Nếu nó không hoạt động thì khởi động lại Xcode. Có vẻ như nó đã được cập nhật nội bộ nhưng giao diện người xây dựng giao diện đã bị kẹt vì đôi khi nó bị.


3
Sau khi mở lại XCode, cảnh báo này thực sự biến mất, nhưng nếu tôi mở bất kỳ tệp nào trong dự án thì một lần nữa mở main.storyboardcác cảnh báo này lại xuất hiện
Danny

0

Vui lòng thay đổi thiết bị của bạn Xem trước trong xcode cho Xem bộ điều khiển và biên dịch và kiểm tra cảnh báo ...

Xcode 8 bị lỗi bit, Trình xây dựng giao diện đặt lại ngẫu nhiên không ảnh hưởng đến tất cả các chế độ xem được chứa. Hãy thử thay đổi thiết bị xem trước của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.