2013-08-22 16 views
35

Czy przeciąganie i upuszczanie okrągłego przycisku prostego nie jest już dostępne w Xcode 5? Nie mogę znaleźć tego w Konstruktorze interfejsów. Zgaduję, że jest to jedna ze zmian w iOS 7, ale chciałem się upewnić.Brak przycisku Round Rect w Xcode 5?

+0

Jaki jest twój cel wdrożenia? – trojanfoe

+0

iPhone - iOS7. Naprawdę próbowałem zmienić to na wersję 6.1 i to też nie pomogło. – juminoz

+2

Systemy iOS7 i Xocde 5 są nadal objęte umową NDA, co ogranicza możliwość mówienia o nich poza oficjalnym Forum programistów Apple. – rckoenes

Odpowiedz

51

Przycisk Round Rect z Xcode 4 i poprzednich wersji został zastąpiony przyciskiem System Default, który również jest wyraźny. To znaczy. domyślnie nie ma białego tła z zaokrąglonymi narożnikami, widoczny jest tylko tekst.

Aby biały przycisk (lub innego koloru), wybrać inspektora atrybutów i przewinąć w dół do sekcji View:

enter image description here

Select Background i zmienić go na White:

enter image description here

Jeśli chcesz zaokrąglić rogi, możesz to zrobić za pomocą odrobiny kodu. Wystarczy ctrl-drag z przycisku do pliku .h, nazwać to coś jak roundedButton i dodać w swojej viewDidLoad:

CALayer *btnLayer = [roundedButton layer]; 
[btnLayer setMasksToBounds:YES]; 
[btnLayer setCornerRadius:5.0f]; 
+0

Co zaskakujące, aplikacja iOS 7 Maps ma okrągły przycisk informacyjny. –

+0

@BartSimpson: Zaktualizowałem swoją odpowiedź, aby uwzględnić zaokrąglenie rogów. – Robert

+0

Twoja odpowiedź działa. Jednak mówiłem o tym przycisku informacyjnym - http://s1.ibtimes.com/sites/www.ibtimes.com/files/styles/v2_article_large/public/2013/06/18/ios-7-maps.PNG (niższy prawy róg) –

5

To było zbyt długi komentarz w @ odpowiedź Roberta, ale chciałem tylko dodać Odnośnie oświadczenie: "Przycisk Round Rect z Xcode 4 ... wydaje się być zastąpiony ...".

Potwierdzając, że zdecydowanie został została zastąpiona:

Zaokrąglony prostokąt przycisk jest przestarzałe w iOS 7. Zamiast korzystać z systemu przycisk, to znaczy obiekt UIButton typu UIButtonTypeSystem.

Przyciski systemowe systemu iOS 7 nie zawierają ramki ani wyglądu tła. Przycisk systemowy może zawierać symbol graficzny lub tytuł tekstowy, a ponadto może on określać kolor tinty lub kolor jego rodzica.

...

Jeśli potrzebujesz, aby wyświetlić przycisk, który zawiera ramkę, użyj przycisku typu UIButtonTypeCustom i dostarczyć niestandardowy obraz tła.

Apple iOS 7 Transition Guide, str. 45, "Przycisk zaokrąglonego prostokąta"

A zatem zaleceniem firmy Apple jest użycie obrazu tła.

74

Umożliwia również zaokrąglenie prostokąta w serii ujęć.

enter image description here

+0

to jest fantastyczne! dzięki. – SpaceDog

+0

Wystarczy dodać, że jest to możliwe tylko w systemie iOS5. – sradforth

+4

Należy zauważyć, że wyniki działania zdefiniowanych atrybutów nie będą widoczne do czasu wykonania. – rizzes

3

Właściwie w iOS 7 łączna UI zostało zmienione na podstawowe kontrole. Jeśli nadal chcesz mieć zaokrąglony przycisk prostokątny, musisz przejść do właściwości coregraphical podklas UIView, tj .; właściwość warstwy.

buttonObj.layer.cornerRadius = 5.0f;//any float value

aby pokazać efekt trzeba dać trochę koloru tła do buttonObj

jeśli chcesz ustawić granicę szerokość

buttonObj.layer.borderWidth = 2.0f;//any float value

można również nadać kolor dla granica

buttonObj.layer.borderColor = [[UIColor greenColor]CGColor];

Uwaga: W tym miejscu musimy użyć CGColor dla warstw, ponieważ warstwy są podstawowymi właściwościami graficznymi UIViews