2011-09-21 3 views
1

나는 우리가 그냥 색깔의 광장을 넣어 싶은 UITableView 있습니다. UITableViewCell의 데이터에 따라 UIView는 배경색을 변경합니다. 그것이 현재의 방식입니다. 내게는 UIImageView가 있고 다른 색상 사각형의 .png 이미지가 있고 UITableViewCell의 데이터에 따라 셀당 올바른 이미지를로드하는 것이 좋습니다. 나는 어떤 방법이 더 좋은지 모르거나 더 좋은 방법이 있는지 모르겠습니다. 이견있는 사람? 감사.UIView 또는 UIIableView에서 UIImage, 성능에 더 나은 무엇

답변

2

테이블 셀에 포함 된 이미지로 작업 했으므로 UIView를 사용하고 필요한 배경색을 설정하는 것이 훨씬 더 빠를 것이라고 생각합니다.

로컬 이미지 (앱 번들에있는 이미지)를 사용하더라도 UIImage를 만들고 UIImageView의 이미지 속성을 설정하는 데 발생하는 모든 추가 작업을 생각해보십시오.

내 경우에는 두 개의 서로 다른 프로젝트에서 '그물을 테이블 셀로로드해야했습니다. 꽤 느려서 우리는 백그라운드에서 그것을했습니다. 그것은 처리해야 할 도전과 특별한 조건이었습니다. 당신이 묘사 한 것에는 과잉이라고 할 수 있습니다.

UIView와 배경색을 사용하고 싶습니다. 물론, 당신은 스스로 그것을 두 가지 방식으로 시도 할 수 있으며 그것이 당신을 위해 어떻게 작동하는지 볼 수 있습니다. :-) 실제 장치에서 테스트하는 것을 잊지 마십시오. "모든 것이 훌륭합니다!"라는 감각에 쉽게 빠질 수 있기 때문입니다. 시뮬레이터에서 앱 비명을 볼 때! :-)

+0

quare UIView가 아니라 서클을 원한다면 성능이 동일한 지 알고 있습니까? UIView에 서클을 만들기 위해 뭔가해야만하는 것처럼 (잠시 Quartz를 보지 않았지만, tehre는 멋진 UIView를 사각형이 아닌 원으로 ​​사용하는 방법이라고 가정합니다). 감사. – Crystal

+1

나는보기에 UILayer의 cornerRadius 속성을 사용하여 그렇지 않으면 정사각형 UIView (또는 UILabel과 같은 하위 클래스)에서 서클을 획득했습니다. 'view.layer.cornerRadius = 20'입니다.이 경우 20은 뷰의 실제 너비의 절반이고 높이는 너비와 동일하므로 효과적으로 정사각형을 원으로 만듭니다. 그러나 특히 레이어를 사용하여 더 많은 작업을 시작하면 각 셀이 렌더링 될 때 테이블 스크롤 속도가 느려지므로 여기서는주의해야합니다. 셀의 contentView에 그림자를 추가하려고 할 때 이것을 보았습니다. 아주 느린. 그러나 귀하의 마일리지는 다를 수 있으므로 시도하십시오. :-) –

+0

팁 주셔서 감사합니다! – Crystal

1

파일에서 이미지를로드하는 대신 배경색을 채우는 것이 더 좋을 것이라고 생각합니다. 파일 시스템에 액세스 할 필요가 없으므로 훨씬 더 빨리 처리 할 수 ​​있습니다.

1

보기의 배경색 만 사용하십시오. 단색으로 채워진 불투명 뷰는 사용자가 그릴 수있는 가장 빠른 것 중 하나입니다. PNG는 눈에 띄게 느려지고, 더 많은 메모리를 소비하며, 불필요하게 앱 묶음의 크기를 늘릴 것입니다.

관련 문제