Slide 1

Slide 1 text

Scrolling Like Butter Sam Soffes

Slide 2

Slide 2 text

UITableView Everyone’s doing it

Slide 3

Slide 3 text

UITableView Scrolling Nemesis

Slide 4

Slide 4 text

http://blog.atebits.com

Slide 5

Slide 5 text

So what’s good? Double cheeseburger. Ketchup only.

Slide 6

Slide 6 text

1 FPS >30 FPS Choppy Awesome

Slide 7

Slide 7 text

Twitterrific

Slide 8

Slide 8 text

Tweetie

Slide 9

Slide 9 text

iPod

Slide 10

Slide 10 text

YouTube

Slide 11

Slide 11 text

You’re doing it wrong It’s okay, most people are.

Slide 12

Slide 12 text

How do I fix it? Magic and doing a rain dance

Slide 13

Slide 13 text

Instruments Core Animation

Slide 14

Slide 14 text

Demo

Slide 15

Slide 15 text

Reuse Cells It’s easy. Why not?

Slide 16

Slide 16 text

UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];

Slide 17

Slide 17 text

static NSString *cellIdentifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease]; }

Slide 18

Slide 18 text

Optimize Blending Embrace the green

Slide 19

Slide 19 text

Bad Good

Slide 20

Slide 20 text

label.backgroundColor = [UIColor whiteColor]; label.opaque = YES;

Slide 21

Slide 21 text

drawRect: vs Subviews Kinda a pain, but worth it

Slide 22

Slide 22 text

Lorem Ipsum

Slide 23

Slide 23 text

Lorem Ipsum

Slide 24

Slide 24 text

Stuff to Check Out My blog: http://samsoff.es My Twitter: http://twitter.com/samsoffes My GitHub: http://github.com/samsoffes

Slide 25

Slide 25 text

Stuff to Check Out My blog: http://samsoff.es My Twitter: http://twitter.com/samsoffes My GitHub: http://github.com/samsoffes