Tag Archives: mac os x

Create dynamic height for UITableViewCells in iOS

During my try creating a forum view with threads and posts for ios devices i figured out that there is no option to get an automatic height for table cells if the content is larger then the layout i created in the .xib file.

After not finding a proper and easy solution in several developer forum, it took me some days to figure out a way to get it done in a way that seems to work for me.
Calculating the size of the content seems to do the trick.

In my layout i have label for the username, a label for the date of the post and the message itself.
post_layout
The message label is the only content, that could cause any issues, so this is the only part that needs to be calculated.

Here is the code that does it for me:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    NSObject *Thread = [_postArray objectAtIndex:indexPath.row];
    NSString *message =[Thread valueForKeyPath:@"Forum.message"];
    CGSize maximumLabelSize = CGSizeMake(296,9999);
    UIFont *font = [UIFont systemFontOfSize:17];
    CGSize expectedLabelSize = [message sizeWithFont:font constrainedToSize:maximumLabelSize lineBreakMode:NSLineBreakByWordWrapping];
    int a = expectedLabelSize.height + 55;
    return a;
}

Note:
– you can get systemFontSize also through a function, so it could be dynamic
– 55 is the fix height of the content above the message label

If there are other – maybe better or more comfortable – ways, please let me know. 🙂

Java on Mac OS X Mountain Lion

Like the most people recognized Mac OS X Mountain Lion does some weird stuff to already installed software. So does it to Java and gives us a message that tells us to download some version from their website (which is not installable) or from some Oracle site.

The quicker and easier way is to use the already installed version of Java and let it update itself pretty quick.
All you have to do is:

  • open the hotspot search (cmd + space)
  • enter “java”
  • select the “java preferences” icon

Thats it.

Now it is downloading the newest Java version and installs it.

I hope this will work for you too.

Link: Download Java 7 here