2013-10-29 16 views
6

enter image description hereiOS - tableview hücrelerinin Ben görüntü gösterildiği gibi benim tablo görünümü hücreleri için yatay dolgu eklemek istediğiniz

yatay dolgu ekleyin.

I, genişliği (ekran genişliği 320) 314 piksel olarak UITableViewCell bir alt sınıfı, oluşturulmuş ve initWithCoder yöntemde kendi çerçevesi ayarlamak:

[self customizeXPosition:self.profileImage]; 
[self customizeXPosition:self.birthdayLabel]; 
[self customizeXPosition:self.heightLabel]; 
[self customizeXPosition:self.weightLabel]; 

bu benim - (void)customizeXPosition:(UIView *)view:

- (void)customizeXPosition:(UIView *)view { 
    CGRect tmpRect = view.frame; 
    tmpRect.origin.x += 3.0; 
    view.frame = tmpRect; 
} 

Özel hücre ekrandan küçüktü ve hücredeki her öğeyi 3 piksel sağa kaydırdım. Bu kodun amacına ulaşması gerektiğini düşündüm, ama olmadı. Simülatörde görünüm değişmedi, tıpkı herhangi bir kod yazmadığım gibi.

Hedefe nasıl ulaşabilirim?

+1

onay dışarı bu bağlantıyı: http://stackoverflow.com/questions/11399402/grouped-uitableview-and-horizontal

aşağıdaki ayarları yaparak, "yatay dolgu" ile hücreleri elde edebilirsiniz -margins – faterpig

+0

harika! Bu bağlantı benim sorunumu çözdü! Bilgiyi düzenlemek ve bu soruyu cevaplamak ister misiniz? – Brian

+0

emin! :) yardımcı oldu :) – faterpig

cevap

7

bu yazı uyarınca UITableViewCell içinde -setFrame yöntemi geçersiz kılmasını deneyin:

How to set the width of a cell in a UITableView in grouped style

Swift version

+0

btw @Brian, Ben sadece bu cevabı yapmak için daha iyi olacağını düşünüyorum ama SO sayfa ve kullanıcı cevabı kadar gitmek. Verdiği mükemmel cevap için kredi almak istemem. O da bana yardım etti! :) ve bu cevabı gören diğer kişiler için, eğer bu cevap size yardımcı olursa, o zaman cevabını oylama bana ve değil. :) – faterpig

3

Bu görünümlerde dolgu şeyler için iyi çalışır:

yourView.layer.sublayerTransform = CATransform3DMakeTranslation (10, 0, 0);

+7

ouch, bu çirkin! : D – dwery

3

@faterpig birçok durumda doğrudur. Bununla birlikte, ayar çerçevesi otomatik düzeni bozabilir. senin otomatik düzen nedeniyle ayarı çerçeveye kırılırsa

, sen contentView hücreye contentView daha kısa genişliğe sahip bir UIView, ekleme ve görünüm üzerinde diğer UI öğeleri koyabilirsiniz.

cell.backgroundColor = UIColor.clearColor() 
cell.contentView.backgroundColor = UIColor.clearColor() 
İlgili konular