Automatische cell lengte

Automatische cell lengte discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Hallo, Ik ben op dit moment aan het stoeien met de "UITableViews", dit gaat redelijk goed alleen ik loop tegen een (klein) probleem aan. Ik ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 24 October 2013, 21:05
» iPhone 5s 16GB (Space Grijs) [FW: 7.1.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 27 February 2009
Berichten: 429
Standaard Automatische cell lengte

Hallo,

Ik ben op dit moment aan het stoeien met de "UITableViews", dit gaat redelijk goed alleen ik loop tegen een (klein) probleem aan.
Ik krijgt het niet voor elkaar om de cell lengte automatisch te veranderen op basis van de hoeveelheid tekst in de "detailTextLabel".

Hieronder een screenshot:
http://puu.sh/4YrVJ/9aea5e995d.png

Code:
Code:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellText    = [titleArray objectAtIndex:indexPath.row];
    UIFont *cellFont      = [UIFont systemFontOfSize:10];
    CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
    CGSize labelSize      = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
    return labelSize.height + 40;
}
Bedankt voor de hulp alvast!
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 25 October 2013, 10:52
Nikooos's schermafbeelding
» iPhone 5 32GB (Zwart) [FW: 10.0.2]  [Jailbreak: Nee]
» iPad 2 Wi-Fi 16GB (Wit) [FW: 10.0.2]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 28 November 2007
Locatie: Tilburg
Berichten: 3.183
Standaard

Code:
- (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    PFObject *messageObject = [self.chatArray objectAtIndex:indexPath.row];
    NSString *message = [messageObject objectForKey:@"message"];
    
    CGFloat constrainedSize = 280.0;
    UIFont *myFont = [UIFont fontWithName:@"HelveticaNeue-Medium" size:16];
    CGSize textSize = [message sizeWithFont: myFont
                         constrainedToSize:CGSizeMake(constrainedSize, CGFLOAT_MAX)
                             lineBreakMode:NSLineBreakByWordWrapping];
    
    float totalHeight = textSize.height+30.0;
    
    return totalHeight;
}
Een voorbeeld bij mij die wel werkt. Lijkt vrijwel hetzelfde eigenlijk.
  #3  
Oud 25 October 2013, 14:25
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Wink Zoek de verschillen

Ik heb ook nog even nauwkeurig zitten kijken, maar ik kan geen wezenlijke verschillen tussen de twee scripts ontdekken.
Dat is het dus niet.

Ik kan mij wel herinneren dat ik ook eens heb zitten klooien om de methode heightForRowAtIndexPath te laten werken.

Heb je al eens verschillende getallen voor de hoogte ingevuld, en is de rijhoogte dan ook anders? Ik vermoed namelijk dat het niet aan jouw scriptje ligt.
__________________
Leon
[iPhone- en Java ontwikkelaar]

Laatst gewijzigd door wubbe; 25 October 2013 om 15:34.
  #4  
Oud 25 October 2013, 15:25
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

het enige echte verschil dat ik zie is dat nikoos het volgende doet:

float totalHeight = textSize.height+30.0; return totalHeight;en Dreissen:
return labelSize.height + 40;

dat zou geen verschil MOGEN maken, maar de height property is readonly, dus misschien dat daar iets misgaat, dus probeer het eens met een variable te returnen.
__________________
Software Engineer
iPhone Developer
  #5  
Oud 25 October 2013, 20:59
» iPhone 5s 16GB (Space Grijs) [FW: 7.1.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 27 February 2009
Berichten: 429
Standaard

Vraag me niet waarom en hoe, maar inderdaad Whacko, jij had gelijk.

Laatste lijn (van mijn code) vervangen door dit:
Code:
float totalHeight = labelSize.height + 45;
return totalHeight;
Werkt perfect nu! Bedankt voor de hulp!
  #6  
Oud 26 October 2013, 02:00
» iPhone 5s 16GB (Space Grijs) [FW: 7.1.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 27 February 2009
Berichten: 429
Standaard

Heb nog een vraag betreft UITableViews.
In een UITableView laat de ik de laatste Twitter berichten zien, dit gaat allemaal prima. Nu wil ik graag met meerdere tekstgroottes werken in een label.

Dit is wat ik tot nu toe heb:
Code:
NSString *nameString = [NSString stringWithFormat:@"%@ @%@", twitterName, twitterScreenName];
NSMutableAttributedString *attributedNameString = [[NSMutableAttributedString alloc]  initWithString:nameString];
[attributedNameString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:10]range:NSMakeRange([twitterName length],[nameString length])];
cell.textLabel.attributedText = attributedNameString;
nameString = Dreissen @dreissen
twitterName = Dreissen
twitterScreenName = @dreissen

Wat ik graag wil is het stuk tekst vanaf de @ een kleiner lettertype geven.
Krijgt nu een SIGABRT error.
  #7  
Oud 22 November 2013, 16:52
rsluman's schermafbeelding
» iPhone 5 32GB (Zwart) [FW: 7.0.4]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 64GB (Wit) [FW: 7.0.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 April 2008
Berichten: 5
Send a message via twitter to rsluman
Standaard

Wellicht heb je dit al opgelost, maar zo niet: is dit niet de oplossing?

Code:
[attributedNameString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:10]range:NSMakeRange([twitterName length],[twitterScreenName length])];
Anders wordt je range te lang (de lengte van *nameString, terwijl je natuurlijk de lengte van *twitterScreenName wilt hebben)...
Reageren


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Soortgelijke discussies

Discussie Auteur Forum Reacties Laatste bericht
Breedte en lengte Ipad scherm in cm marti009 iPad algemeen 0 22 October 2013 22:05
SMS lengte Vanquisher iPhone Apps 14 13 March 2010 21:15
Lengte van de Iphone Headphones reza iPhone accessoires en onderdelen 0 11 March 2010 11:13
Lengte Trilsignaal aanpassen in 2.2 en doorschakelen actief johanjd iPhone algemeen 9 22 June 2009 11:59
Wi-Fi WPA Key lengte frenske2002 Wi-Fi 20 20 August 2008 09:38

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 14:17.