Sobes.tech
Junior — Middle

Czy mógłbyś wyjaśnić, czym są Bounds i jakie informacje zawierają?

sobes.tech AI

Odpowiedź od AI

W iOS termin "Bounds" (granice) odnosi się do właściwości UIView, która określa rozmiar i pozycję widoku (view) w jego własnym układzie współrzędnych.

  • bounds to prostokąt (CGRect), który opisuje wewnętrzne rozmiary i pozycję widoku względem jego własnego układu współrzędnych, zazwyczaj z początkiem (0,0).

  • W przeciwieństwie do frame, który opisuje pozycję i rozmiar widoku względem widoku nadrzędnego, bounds określa rozmiar i wewnętrzny obszar samego widoku.

Na przykład, jeśli UIView ma bounds = {{0, 0}, {100, 50}}, oznacza to, że szerokość widoku to 100, wysokość 50, a jego wewnętrzny układ współrzędnych zaczyna się od punktu (0,0).

Zmiana bounds może służyć do skalowania lub przesuwania zawartości widoku bez zmiany jego pozycji na ekranie.

Przykład:

let view = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
print(view.bounds) // {{0, 0}, {100, 100}}

// Zmieniamy bounds, przesuwając origin
view.bounds.origin = CGPoint(x: 10, y: 10)

W tym przykładzie zawartość widoku zostanie przesunięta wewnątrz samego widoku na (10,10).

W związku z tym bounds zawiera informacje o wewnętrznym obszarze i współrzędnych widoku w jego własnym układzie współrzędnych.