2014-06-23 15 views
7

I costruendo UITableCellView da xib. Questo xib utilizza autolayout e due UILabel s connessi a superview e hanno un vincolo verticale.UILabel autolayout cut pixel in basso

Purtroppo è il taglio dei pixel (s) in fondo UILabel: enter image description here

Cosa mi manca?

UPD. Xcode mi sta dando errore: Set vertical compression resistance priority to 749. Se gioco con la priorità della resistenza alla compressione, ottengo il primo taglio dell'etichetta.

risposta

2

Impostare la priorità sul vincolo di spaziatura verticale tra le due etichette in modo che sia inferiore al vincolo di spaziatura verticale tra le etichette e la parte superiore e inferiore della vista. In alternativa, nel vostro delegato, ignorare

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath

e

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

che restituirà un'altezza che ospiterà i vincoli e le altezze delle etichette. Per impostazione predefinita, credo che ottieni 44 pixel, quindi puoi ottenere una cella più alta sovrascrivendola. Inoltre, puoi impostare l'altezza della cella in IB se stai usando Storyboard o pennini.

+0

Aumentare l'altezza della cella non aiuta. Aggiorno anche la domanda con l'errore xcode –

+0

Interessante, di solito non mi preoccupo di cambiare la resistenza alla compressione perché mi piace lasciare i miei elementi non compressi e dare loro abbastanza spazio. @EugenMartynov Hai provato a cambiare l'altezza della cella in modo personalizzato su UITableViewCell in IB? –

+0

Ho dimenticato di dire che anche la modifica della priorità per i vincoli tra le etichette non ha aiutato. Ma quel vincolo è costante 1. Quindi forse questo è un problema quando si fa l'altezza del calcolo delle celle. –

Problemi correlati