#ios #iphone #icarousel
#iOS #iPhone #icarousel
Вопрос:
Я использую iCarousel в своем приложении для отображения изображений, поступающих из веб-сервиса с линейным типом carousel. Когда пользователь прокручивает конец карусели, если из веб-сервиса недоступны изображения, я добавляю одну карусель с кнопкой. Что я делаю, так это когда данные недоступны из веб-службы, я устанавливаю логическое значение yes (isNoImagesAvailable == YES). затем я добавляю один дополнительный элемент карусели снизу.
Ниже приведен пример кода, чтобы понять, как я делаю
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
self.carousel.contentOffset = CGSizeMake(0, (213 - self.carousel.frame.size.height) * 0.5);
}
else
{
self.carousel.contentOffset = CGSizeMake(0, (200 - self.carousel.frame.size.height) * 0.5);
}
- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
//Here i am increasing carousel count by 1 if no images available
if (isNoImagesAvailable)
{
return images.count 1;
}
else
{
return images.count;
}
}
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
//create new view if no view is available for recycling
if(index < images.count )
{
if (view == nil)
{
//this `if (view == nil)
{`
view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200.0f, 200.0f)];
((UIImageView *)view).image =// Here loading images from web service
view.contentMode = UIViewContentModeCenter;
}
else
return view;
}
// if no images are available adding one button with text "No data available"
else
{
UIView * endimageView = nil;
if (view == nil)
{
endimageView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 150.0f,50.0f)];
endimageView.backgroundColor =[UIColor clearColor];
endimageView.contentMode = UIViewContentModeCenter;
UIButton *noDataButton =[UIButton buttonWithType:UIButtonTypeCustom];
noDataButton.frame =CGRectMake(0, 0, 150, 40);
noDataButton.userInteractionEnabled=YES;
[noDataButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[noDataButton setTitle:@"No data available" forState:UIControlStateNormal];
[noDataButton addTarget:self action:@selector(popToHomePage) forControlEvents:UIControlEventTouchUpInside];
noDataButton.backgroundColor =[UIColor whiteColor];
[endingDealView addSubview: noDataButton s];
}
return endingDealView;
}
Здесь проблема заключается в том, что пользователь в нижней части экрана при прокрутке вверх нажимает кнопку «Нет доступных данных» под панелью навигации. Как можно точно настроить смещение элемента карусели «endimageView» под панелью навигации.
Дайте мне знать, какая информация нужна с моей стороны, спасибо
Комментарии:
1. можете ли вы предоставить снимок экрана с этой проблемой
2. @Suhail через минуту я отправляю снимок экрана
3. я обновил вопрос снимком экрана
4. или я могу сделать видимыми хотя бы два элемента, когда мы перейдем к последнему элементу