티스토리 뷰

Tech/iOS

IBOutlet Collection

Ellie Kim 2020. 1. 31. 14:18

스토리보드로 개발을 하면 IBOutlet을 연결해서 원하는 객체의 속성을 제어합니다.

 

이전에 로딩 뷰를 커스텀하게 만들어 사용했었는데 그때 IBOutlet Collection을 사용해 편리하게 객체의 속성을 제어했어서

IBOutlet Collection 사용법을 블로그에 공유하려 합니다. 

먼저 제가 만든 커스텀한 로딩뷰는 이렇습니다.

3개의 UIView로 구성되어있으며 그 뷰는 차례로 커졌다 작아졌다를 반복합니다.

만약 IBOutlet을 사용하지 않았다면 아래와 같이 모든 점들에 대해 IBOutlet을 연결하고 속성을 제어해야 할 겁니다.

만약 코너를 둥글게 만들고 싶다고 치면 3개의 점들에 대해 접근한 후 radius값을 설정해줘야 합니다.

이는 코드가 길어지며 반복된 행위에 대해서 다 나열해서 코드를 작성해 복잡하고 효율적이지 못합니다.

이를 개선하기 위해서는 IBOutlet Collection을 사용할 수 있습니다.

사용법은 IBOutlet연결과 동일합니다.

다만 Outlet이 아니라 Ouetlet Collection을 선택해줘야 합니다.

Outlet Collection의 이름은 loadingDots라고 설정하겠습니다.

여기까지 하면 [UIView]의 loadingDots가 생성됩니다.

나머지 뷰도 loadingDots에 연결해줍니다.

그럼 위와 같이 loadingDots에 각각의 View가 들어가게 됩니다.

여기까지 하면 lBOutlet Collection을 생성한 겁니다. 

 

이제 그 IBOutlet Colletion을 사용해봅시다.

IBOutlet Collection을 사용하지 않았을 땐 각각의 점들을 연결해 각각의 속성을 설정해줬는데

IBOutlet Collection을 사용하면 for 루프로 loadingDots를 돌아 각 점들에 속성을 설정해줄 수 있습니다. 

for 루프를 돌면서 dot에는 각각의 점들이 들어오게 되고 각각의 점의 속성 또한 간단하게 제어가 가능합니다.

이전보다 훨씬 더 간단하지 않나요?

 

radius뿐만 아니라 저는 색상이나 알파 값 또한 조절 가능하게 처리했습니다.

각각의 객체의 속성에 동일한 작업을 해야 한다면 IBOutlet Collection을 사용해보시길 바랍니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함