网易新闻首页的实现,可以添加,移除标签,自动滚动图片,无限左右切换图片

拼多多Android面试题及参考答案 Android 系统采用分层架构设计,从底层到上层依次为Linux 内核层硬件抽象层(HAL)系统运行时库层应用框架层应用层,共五层。位置:Linux 内核层与系统运行时库层之间,是“硬件与系统的隔离层”。核心作用:屏蔽硬件差异,为上层提供统一的硬件访问接口,解决 Android 开源与硬件厂商闭源的矛盾,具体功能如下:硬件能力抽象:将硬件的具体实现(如不同厂商的摄像头芯片、音频芯片)封装为标准化接口(如Camera HALAudio HAL。 阅读详情
//
//  RootViewController.h
//  Homework_163News
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController
@property (nonatomic, retain) NSMutableArray *titles;
@property (nonatomic, retain) NSMutableArray *labels;
@end
//
//  RootViewController.m
//  Homework_163News
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import "RootViewController.h"
#import "NewsView.h"
@interface RootViewController ()<UIScrollViewDelegate>
{
    NSMutableArray *_images;
    NSUInteger _imageCount;
    BOOL _isOrder;
}
@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
        _isOrder = YES;
        [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changePage) userInfo:nil repeats:YES];
        self.titles = [NSMutableArray arrayWithObjects:@"头条", @"世界杯", @"推荐", @"娱乐", @"体育", @"财经", nil];
        
        self.labels = [NSMutableArray arrayWithObjects:@"科技", @"时尚", @"汽车", @"房产", @"轻松一刻", @"游戏", @"CBA", @"手机", @"数码", @"原创", @"精选", @"家居", nil];
        _images = [NSMutableArray array];
        for (int i = 0; i < 6; i++) {
            UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"v6_guide_%d", i + 1]ofType:@"png"]];
            [_images addObject:image];
        }
        _imageCount = _images.count;
    }
    return self;
}

- (void)loadView
{
    NewsView *newsView = [[NewsView alloc] initWithFrame:[UIScreen mainScreen].bounds titles:self.titles images:_images labels:self.labels];
    newsView.backgroundColor = [UIColor whiteColor];
    self.view = newsView;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    UIScrollView *titleScrollView = (UIScrollView *)[self.view viewWithTag:100];
    titleScrollView.delegate = self;
    
//    for (int i = 0; i < _titleCount; i++) {
//        UIButton *title = (UIButton *)[self.view viewWithTag:200 + i];
//        [title addTarget:self action:@selector(showLabel:) forControlEvents:UIControlEventTouchUpInside];
//    }
    
    NewsView *newsView = (NewsView *)self.view;
    newsView.imageView.scrollView.delegate = self;
    [newsView.imageView.pageControl addTarget:self action:@selector(handlePageControl:) forControlEvents:UIControlEventValueChanged];
    
    for (int i = 0; i < self.labels.count / 4; i++) {
        for (int j = 0; j < 4; j++) {
            FlagButton *label = (FlagButton *)[self.view viewWithTag:600 + 4 * i + j];
            [label addTarget:self action:@selector(addLabel:) forControlEvents:UIControlEventTouchUpInside];
        }
    }
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    UIScrollView *imageScrollView = (UIScrollView *)[self.view viewWithTag:400];
    UIPageControl *pageControl = (UIPageControl *)[self.view viewWithTag:500];
    int currentPage = imageScrollView.contentOffset.x / 320;
    if (currentPage == 0) {
//        [imageScrollView scrollRectToVisible:CGRectMake(320 * _imageCount, 0, 320, imageScrollView.frame.size.height) animated:NO];
        [imageScrollView setContentOffset:CGPointMake(320 * _imageCount, 0) animated:NO];
        pageControl.currentPage = _imageCount - 1;
    } else if (currentPage == _imageCount + 1) {
//        [imageScrollView scrollRectToVisible:CGRectMake(320, 0, 320, imageScrollView.frame.size.height) animated:NO];
        [imageScrollView setContentOffset:CGPointMake(320, 0) animated:NO];
        pageControl.currentPage = 0;
    } else {
        pageControl.currentPage = currentPage - 1;
    }

}

- (void)handlePageControl:(UIPageControl *)pageControl
{
    NSLog(@"%d", pageControl.currentPage);
    UIScrollView *imageScrollView = (UIScrollView *)[self.view viewWithTag:400];
//    [imageScrollView scrollRectToVisible:CGRectMake(320 * (pageControl.currentPage + 1),0,320,imageScrollView.frame.size.height) animated:NO];
    [imageScrollView setContentOffset:CGPointMake(320 * (pageControl.currentPage + 1), 0) animated:YES];
}

- (void)changePage
{
    //单序版
    /*
    NewsView *newsView = (NewsView *)self.view;
    int page = newsView.imageView.pageControl.currentPage;
    page++;
    page = page > _imageCount - 1 ? 0 : page;
    newsView.imageView.pageControl.currentPage = page;
//    [newsView.imageView.scrollView scrollRectToVisible:CGRectMake(320 * (page + 1), 0, 320, newsView.imageView.scrollView.frame.size.height) animated:NO];
    if (page) {
        [newsView.imageView.scrollView setContentOffset:CGPointMake(320 * (page + 1), 0) animated:YES];
    } else {
        [newsView.imageView.scrollView setContentOffset:CGPointMake(320 * (page + 1), 0) animated:NO];
    }
     */
    
    //双序版
    NewsView *newsView = (NewsView *)self.view;
    int page = newsView.imageView.pageControl.currentPage;
    if (_isOrder) {
        page++;
        page = page > _imageCount - 1 ? 0 : page;
        if (!page) {
            _isOrder = NO;
            page = _imageCount - 2;
        }
    } else {
        page--;
        page = page < 0 ? 0 : page;
        if (!page) {
            _isOrder = YES;
            page = 0;
        }
    }
    newsView.imageView.pageControl.currentPage = page;
    [newsView.imageView.scrollView setContentOffset:CGPointMake(320 * (page + 1), 0) animated:YES];
}

- (void)addLabel:(FlagButton *)btn
{

    NSLog(@"%@", btn.currentTitle);
    NewsView *newsView = (NewsView *)self.view;
    [newsView.titleScrollView removeFromSuperview];
    if (btn.flag) {
        [self.titles addObject:btn.currentTitle];
        [newsView setupTitleScrollView:self.titles];
        btn.flag = NO;
    } else {
        [self.titles removeObject:btn.currentTitle];
        [newsView setupTitleScrollView:self.titles];
        btn.flag = YES;
    }
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    if (!self.view.window && [self isViewLoaded]) {
        self.view = nil;
    }
}

- (void)dealloc
{
    self.titles = nil;
    self.labels = nil;
    [super dealloc];
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
//
//  NewsView.h
//  Homework_163News
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "LoopView.h"
#import "FlagButton.h"

@interface NewsView : UIView
@property (nonatomic, retain) NSMutableArray *labels;
@property (nonatomic, retain) NSMutableArray *titles;
@property (nonatomic, retain) LoopView *imageView;
@property (nonatomic, retain) UIScrollView *titleScrollView;
@property (nonatomic, retain) FlagButton *aLabel;
- (void)setupTitleScrollView:(NSMutableArray *)titles;
- (id)initWithFrame:(CGRect)frame titles:(NSMutableArray *)titles images:(NSMutableArray *)images labels:(NSMutableArray *)labels;
@end
//
//  NewsView.m
//  Homework_163News
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import "NewsView.h"
@interface NewsView ()
{
    NSMutableArray *_images;
    NSUInteger _titlesCount;
    NSUInteger _imagesCount;
    NSUInteger _labelsCount;
}
@end

@implementation NewsView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [self setupRedView];
        [self setupTitleScrollView:self.titles];
        [self setupImageView];
        [self setupLabelView];
    }
    return self;
}

- (id)initWithFrame:(CGRect)frame titles:(NSMutableArray *)titles images:(NSMutableArray *)images labels:(NSMutableArray *)labels
{
    self.titles = titles;
    _images = images;
    self.labels = labels;
    _imagesCount = images.count;
    _labelsCount = labels.count;
    [self initWithFrame:frame];
    return self;
}

- (void)setupRedView
{
    UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 60)];
    redView.backgroundColor = [UIColor colorWithRed:1.0 green:0.1 blue:0 alpha:0.5];
    [self addSubview:redView];
    [redView release];
    
    UILabel *topical = [[UILabel alloc] initWithFrame:CGRectMake(130, 20, 70, 30)];
    topical.text = @"网易新闻";
    [redView addSubview:topical];
    [topical release];
    
    UIButton *add = [UIButton buttonWithType:UIButtonTypeSystem];
    add.frame = CGRectMake(280, 28, 25, 25);
    [add setTitle:@"+" forState:UIControlStateNormal];
    [add setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    add.titleLabel.font = [UIFont systemFontOfSize:40];
    [redView addSubview:add];
    [add release];
}

- (void)setupTitleScrollView:(NSMutableArray *)titles
{
    self.titles = titles;
    _titlesCount = titles.count;
//    int width = (320 - 5 * (_titlesCount + 1)) / _titlesCount;
    int width = 47;
    self.titleScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 60, 320, 40)];
    _titleScrollView.backgroundColor = [UIColor colorWithRed:0.6 green:0.1 blue:0.0 alpha:0.2];
    _titleScrollView.userInteractionEnabled = YES;
    _titleScrollView.showsHorizontalScrollIndicator = NO;
    _titleScrollView.tag = 100;
    _titleScrollView.contentSize = CGSizeMake(320 + _titlesCount * width, _titleScrollView.bounds.size.height);
    _titleScrollView.pagingEnabled = YES;
    [self addSubview:_titleScrollView];
    [_titleScrollView release];
    
    int x = 5;
    for (int i = 0; i < _titlesCount; i++) {
        UIButton *title = [UIButton buttonWithType:UIButtonTypeSystem];
        title.frame = CGRectMake(x, 5, width, 30);
        UIView *line = [[UIView alloc] initWithFrame:CGRectMake(x, title.frame.origin.y + title.frame.size.height, width, 2)];
        title.userInteractionEnabled = YES;
        title.tag = 200 + i;
        line.tag = 300 + i;
        title.titleLabel.font = [UIFont systemFontOfSize:15];
        [title setTitle:self.titles[i] forState:UIControlStateNormal];
        [title setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        x += width + 5;
        [title addTarget:self action:@selector(showLabel:) forControlEvents:UIControlEventTouchUpInside];
        [self.titleScrollView addSubview:title];
        [self.titleScrollView addSubview:line];
        [line release];
    }

}

    

- (void)showLabel:(UIButton *)btn
{
    UILabel *line = (UILabel *)[self viewWithTag:btn.tag + 100];
    for (int i = 0; i < self.titles.count; i++) {
        UILabel *otherLine = (UILabel *)[self viewWithTag:300 + i];
        otherLine.backgroundColor = [UIColor clearColor];
    }
    line.backgroundColor = [UIColor redColor];
}


- (void)setupImageView
{
    self.imageView = [[LoopView alloc] initWithFrame:CGRectMake(0, 100, 320, 280) images:_images];
    [self addSubview:_imageView];
    [_imageView release];
}


- (void)setupLabelView
{
    UILabel *addLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 380, 320, 50)];
    addLabel.backgroundColor = [UIColor colorWithRed:0.6 green:0.1 blue:0.0 alpha:0.2];
    addLabel.text = @"添加标签";
    [self addSubview:addLabel];
    [addLabel release];
    
    for (int i = 0; i < _labelsCount / 4; i++) {
        for (int j = 0; j < 4; j++) {
            self.aLabel = [FlagButton buttonWithType:UIButtonTypeSystem];
            _aLabel.flag = YES;
            _aLabel.frame = CGRectMake(5 + j * 80, 450 + i * 40, 73, 20);
            _aLabel.backgroundColor = [UIColor lightGrayColor];
            _aLabel.tag = 600 + 4 * i + j;
            _aLabel.layer.cornerRadius = 2;
            [_aLabel setTitle:self.labels[4 * i + j] forState:UIControlStateNormal];
            [_aLabel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
            _aLabel.titleLabel.font = [UIFont systemFontOfSize:18];
            [self addSubview:_aLabel];
        }
    }
}

- (void)dealloc
{
    self.aLabel = nil;
    self.labels = nil;
    self.titles = nil;
    self.imageView = nil;
    self.titleScrollView = nil;
    [super dealloc];
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end
//
//  LoopView.h
//  Test_LoopScrollView
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface LoopView : UIView
@property (nonatomic, retain) UIScrollView *scrollView;
@property (nonatomic, retain) UIPageControl *pageControl;
- (id)initWithFrame:(CGRect)frame images:(NSMutableArray *)images;
@end
//
//  LoopView.m
//  Test_LoopScrollView
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import "LoopView.h"
@interface LoopView ()
{
    NSMutableArray *_images;
    NSUInteger _imagesCount;
}
@end
@implementation LoopView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        [self setupScrollView];
        [self setupPageControl];
    }
    return self;
}

- (id)initWithFrame:(CGRect)frame images:(NSMutableArray *)images
{
    _images = images;
    _imagesCount = images.count;
    [self initWithFrame:frame];
    return self;
}

- (void)setupScrollView
{
    self.scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];
    _scrollView.tag = 400;
    _scrollView.contentSize = CGSizeMake(320 * (_imagesCount + 2), [UIScreen mainScreen].bounds.size.height);
//    [_scrollView scrollRectToVisible:CGRectMake(320,0,320,[UIScreen mainScreen].bounds.size.height) animated:NO];
    [_scrollView setContentOffset:CGPointMake(320, 0) animated:NO];
    _scrollView.showsHorizontalScrollIndicator = NO;
    _scrollView.pagingEnabled = YES;
    [self addSubview:_scrollView];
    [_scrollView release];
    
    for (int i = 0; i < _imagesCount + 2; i++) {
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(320 * i, 0, 320, self.frame.size.height)];
        if (i == 0) {
            imageView.image = [UIImage imageNamed:@"v6_guide_6"];
        } else if (i == _imagesCount + 1) {
            imageView.image = [UIImage imageNamed:@"v6_guide_1"];
        } else {
            imageView.image = _images[i - 1];
        }
        [_scrollView addSubview:imageView];
        [imageView release];
    }
}

- (void)setupPageControl
{
    self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(10, self.frame.size.height - 40, 300, 20)];
    _pageControl.tag = 500;
    _pageControl.numberOfPages = 6;
    _pageControl.currentPage = 0;
    _pageControl.pageIndicatorTintColor = [UIColor grayColor];
    _pageControl.currentPageIndicatorTintColor = [UIColor orangeColor];
    [self addSubview:_pageControl];
    [_pageControl release];
    
}

- (void)dealloc
{
    self.scrollView = nil;
    self.pageControl = nil;
    [super dealloc];
}


/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

@end
//
//  FlagButton.h
//  Homework_163News
//
//  Created by lanouhn on 14-8-30.
//  Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface FlagButton : UIButton
@property (nonatomic, assign) BOOL flag;
@end

网页焦点图片自动循环切换效果 网页焦点图片自动循环切换效果,类似电影网站主页最新电影的展示。 立即下载

相关推荐

jquery仿网易图片详情页图片左右切换效果

文章详情页图片展示带切换,带图片标题插件

iOS 之模拟网易新闻主页的滚动效果

近下载了一个网易新闻的APP客户端,觉得新闻主页的滚动效果不错,每个标题都对应一个版面,如图

shenjie12345678的专栏 2万+

别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点)

本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视和复杂轨迹场景中的局限。通过完整的代码示例和避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略和并行计算技巧,提升SAR成像精度与效率。

weixin_30908103的博客 298

一行代码快速实现今日头条 网易新闻焦点图自动循环轮播效果

有时候我们需要顶部焦点图可以自动轮播并且左右滑动时可以循环轮播,下面就来自定义这样的控件来实现,使用起来特别简单 实现功能 1,自动循环轮播,可以设置时间 2,可以手动实现循环滑动 3,可以自定义轮播时圆点大小和颜色

编程小石头 5396

ISP Tuning实战指南:从基础到高级的色彩与亮度优化

本文详细介绍了ISP Tuning的基础概念与高级调优技术,包括黑电平校正(BLC)、自动白平衡(AWB)、色彩校正矩阵(CCM)和Gamma曲线调整等核心算法。通过实战案例和调试技巧,帮助工程师提升摄像头成像质量,解决高光过曝、暗部噪点等常见问题,适用于智能门铃、车载摄像头等多种场景。

weixin_30879169的博客 107

XGBoost特征重要性为0的问题:深度解析与应对策略

在机器学习领域,XGBoost(Extreme Gradient Boosting)作为一款高效且强大的集成学习算法,已经被广泛应用于各类预测任务中。然而,在实际应用过程中,许多数据科学家和工程师们遇到了一个令人困惑的现象——某些特征的重要性值为0。这不仅影响了模型的解释性,还可能导致特征选择过程中的误判。本文将深入探讨这一问题,分析其背后的原因,并提供相应的解决方案。在深入探讨特征重要性为0的问题之前,我们首先需要了解XGBoost是如何计算特征重要性的。XGBoost提供了三种常见的特征重要性计算方法:

cda2024的博客 1704

门户网站首页常见的多张图片自动切换的代码

.block{ display:block;}#NewsPicTxt{ position: relative; width: 380px; height: 22px; border: 1px; margin: 0; padding-top: 4px; text-align: center; font-family: Sans-Serif; font-weight:bold; color: B

鱼汤的技术资料库 4102

从零到一:在RK3588 Android12上实战RTL8723DU WiFi蓝牙双模驱动移植

本文详细介绍了在RK3588 Android12系统上实战RTL8723DU WiFi蓝牙双模驱动移植的全过程。从驱动源码获取与修改、系统级集成与编译,到调试与性能优化,提供了完整的解决方案。特别针对USB接口适配、电源管理和蓝牙共存等关键问题给出了具体代码示例,帮助开发者快速完成驱动适配并提升设备稳定性。

weixin_28703489的博客 324

网页图片自动切换的方法

有很多网站的图片是可以自动切换展示的,这里码一下其中的一种实现方法。 JSP中代码为: &lt;script&gt; var curIndex=0; //时间间隔 单位毫秒 var timeInterval=2000; var arr=new Array(); &lt;c:forEach items="${indexp...

木辛梓 7303

车企自动泊车技术全解|纯视觉/多传感器融合双路线、端到端大模型革新 助力机械车位/无划线车位/极窄车位精准泊车落地

随着智能驾驶技术全面下沉,自动泊车已从高端车型专属配置,普及至十万级家用车型,成为车载核心刚需功能。但市面主流车企的泊车能力差距极大,核心差异源于传感器硬件架构、算法迭代逻辑、场景训练体系的全方位分化。传统规则式泊车算法仅适配标准划线车位,面对地库暗光、标线磨损、机械双层车位、极窄靠墙车位、无划线空地泊车等真实长尾场景极易失效。

getusushu的博客 105

OpenClaw 子代理配对失败问题分析与解决方案

OpenClaw子代理配对失败问题分析与解决方案 问题核心在于agent设备权限不足,仅有operator.approvals权限而缺少operator.admin权限,导致子代理启动时形成权限死锁。本文提供三种解决方案: 直接编辑设备配对文件(推荐):修改本地JSON文件,为agent设备添加完整operator.admin权限,操作简单快捷。 标准重新配对流程:删除现有agent设备后重新配对,通过正常审批流程获取完整权限,符合系统安全设计。 修改源码降低权限要求(仅限开发环境):调整子代理代码避免强制

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 148

android 自定义切换按钮

import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import a

u013279840的博客 833

Claude Code 新手安装指南,手把手教你怎么安装使用

如果你是企业内网用户,或者需要自定义 API 端点,那可以用手动配置 API Key 的方式。

篮球界最会写bug的人;程序猿中打球最菜的人。 485

android特效集锦系列之九 仿网易新闻图片切换

1. 仿网易新闻图片切换,这,其实这个效果我也很纠结啊,不想模仿的,但是。。。。 效果:     有点坑...   源码

jov123的专栏 2394

10分钟搞定小红书爆款笔记爬取!Selenium模拟登录+数据解析全流程,新手也能落地

小红书爬虫实战的核心,是**“模拟真人操作+解析结构化数据”**——Selenium解决了动态页面和登录的问题,lxml解决了数据提取的问题,pandas解决了数据存储的问题。新手学爬虫不用一开始就啃复杂的反爬机制,先从这类“可见即可爬”的场景入手,掌握“模拟操作→数据解析→数据保存”的全流程,再逐步叠加异常处理、批量爬取、反爬应对等功能。需要注意的是:爬取数据仅用于个人学习和研究,不得用于商业用途,且需遵守小红书的用户协议,不要过度爬取导致服务器压力。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1728

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS 真机不能显示图片问题

vaercly的专栏 2056

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

在imageView依次添加7个手势, 1.点击哪个按钮,往imageView上添加哪个手势.(保证视图上只有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女

// // ControlView.h // HomeworkGestureRecognizer // // Created by lanouhn on 14-8-27. // Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved. // #import @interface ControlView : UIView

vaercly的专栏 2035

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iPhone相册,(UIScrollView,UIPageControl的综合应用)捏合放大缩小, 左右滑动切换图片

// // PhotoView.h // Homework_iPhonePhoto // // Created by lanouhn on 14-8-29. // Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved. // #import @interface PhotoView : UIView @propert

vaercly的专栏 1964

滚动视图(UIScrollView)无限无缝左右切换图片,自动顺序加逆序循环播放图片

// // LoopView.h // Test_LoopScrollView // // Created by lanouhn on 14-8-30. // Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved. // #import @interface LoopView : UIView @property (

vaercly的专栏 1677

彩虹视图,霓虹灯静态效果

// // CCLAppDelegate.m // TestNeonLamp // // Created by lanouhn on 14-8-19. // Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved. // #import "CCLAppDelegate.h" @interface CCLAppDelega

vaercly的专栏 1673

iOS MKAnnotation协议为地图添加注解

添加地图注解,这个需要用到MKAnnotation这个协议,主要有两个UILabel类型的属性,title和subtitle,当用户点击小别针时候就会把相关信息显示出来,如下图: Google地图实现之三添加注解 - tergol - tergol的博客 大概的操作是这样的,先定义一个继承了MKAnnotation的类,第当需要加上注解的时候,就根据当前的region等信息,实例化出一个对像,

vaercly的专栏 1420

iOS开发必看的博客汇总

OneV's Den http://onevcat.com/ 破船之家 http://beyondvincent.com/ NSHipster http://nshipster.cn/ Limboy 无网不剩 http://limboy.me 唐巧的技术博客 http://blog.devtang.com/ Lex iOS notes http://ios.lextang.c

vaercly的专栏 1323

iOS 拨打电话 拨打完以后会回到原来的应用

NSDictionary *dic = self.names[self.titles[indexPath.section]][indexPath.row]; NSString *phone = dic[@"phoneNumber"]; //1 特点: 直接拨打, 不弹出提示。 并且, 拨打完以后, 留在通讯录中, 不返回到原来的应用。 /* if (phone !=

vaercly的专栏 1277

iOS用户引导页的简单实现

// // RootViewController.m // LessonUIPageControl // // Created by lanouhn on 14-8-29. // Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved. // #import "RootViewController.h" @interfa

vaercly的专栏 1142
上一篇: 滚动视图(UIScrollView)无限无缝左右切换图片,自动顺序加逆序循环播放图片
下一篇: iOS用户引导页的简单实现
vaercly
博客等级 码龄12年 46粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值