Реализация UITableView "как" (как в приложении для iphone в твиттере) - PullRequest
2 голосов
/ 25 августа 2011

Я собирался реализовать поведение табличного представления, подобное тому, которое использовалось в определенной части приложения для твиттера для iPhone, именно я говорю о табличном представлении, показанном, когда в твите с геолокацией я нажимаю на местоположение, отображаемое под твит , . вот несколько картинок, чтобы взглянуть на это:

image

Image 2

как вы можете видеть, табличное представление имеет фон под (на самом деле карту), но это не просто фоновый UIView (или Mapview), потому что табличное представление тянет его вверх и вниз с собой, если прокрутка собирается " подпрыгивать». , .и это, конечно, не верхний / нижний колонтитул раздела, потому что таблица плавает на нем. , .so, у вас есть идеи о том, как реализовать это табличное представление? Может ли это быть веб-просмотр?


edit: я нашел решение и опубликовал его

Ответы [ 4 ]

0 голосов
/ 25 августа 2011

Хорошо, я только что понял это.,Это было легко, как ад.,.и все дело в том, чтобы поиграть с первой строкой представления таблицы, которая должна быть скрыта, чтобы показать нижележащее изображение, и делегатом с прокруткой, который должен перетаскивать с видом таблицы основное изображение, когда направление перетаскивания вниз.,.here - проект xcode, в котором вы можете попробовать:)

http://cl.ly/9bje

0 голосов
/ 25 августа 2011

Может быть, вы можете использовать анимацию UIView.

Вы добавляете вид карты на ту же высоту, что и вид таблицы, но с его альфа-каналом, установленным в 0 в конструкторе интерфейса.

После этого вы можете сделать следующее в вашем методе IBAction:

     [UIView beginAnimations:@"displayMapView" context:nil];
     [UIView setAnimationDuration:0.3];
     mapview.alpha = 1;
     CGRect tableviewFrame = tableview.frame;
     tableview.origin.y += 200; // Height of your map view
     tableview.frame = tableviewFrame;

     [UIView commitAnimations];

Это должно сделать это!

Или вы можете попробовать что-то подобное в вашем (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath:

 IWebView* webView = [[UISynchedWebView alloc] initWithFrame:
                          CGRectMake(0, 0, cell.bounds.size.width, cell.bounds.size.height)];
 webView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
 webView.tag = 1001;
 webView.userInteractionEnabled = NO;
 webView.delegate = self;
 [cell addSubview:webView];

И загрузите запрос Google Maps или, возможно, поместите вид карты прямо в свою ячейку, не пробовали этого.

0 голосов
/ 25 августа 2011

Взгляните на три20 библиотеки.http://three20.info

и загрузите исходный код из github по адресу https://github.com/facebook/three20

. В этом фреймворке есть класс с именем TTTableViewController, который реализует TTTableViewDragRefreshDelegate.

Более подробно, есть пример приложенияTTTwitter, использующий этот класс!

Вы можете начать с этого и создать подкласс для реализации всех необходимых вам функций!

0 голосов
/ 25 августа 2011

просто добавьте вид таблицы и вид карты в вид прокрутки, и все будет готово.

//CREATE THE SCROLL VIEW
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
scrollView.delegate = self;
scrollView.backgroundColor = [UIColor grayColor];
scrollView.contentSize = CGSizeMake(320, 650);   

//ADDING TABLE VIEW
 CGRect cgRct = CGRectMake(0, 0, 320, 600);         
tblSimpleTable = [[UITableView alloc] initWithFrame:cgRct style:UITableViewStyleGrouped];    
 tblSimpleTable.delegate = self;
 tblSimpleTable.dataSource = self;
  [scrollView addSubview:tblSimpleTable];   

  //ADDING MAP VIEW
myMap = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
myMap.delegate = self;
[scrollView addSubview:myMap];


self.view = scrollView;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...