滚动到顶部,win7系统自带画图工具提示已停止工作的解决办法

这是一篇基于jquery回到顶部插件来实现平滑返回顶部效果,这种效果在很多的网站上有看到过,下面小编来给大家介绍一下。

MVC思想架构的简单自定义UITableViewCell,mvcuitableviewcell

 
   在iOS的开发过程中,架构思想是很重要的一部分,目前的主流应该分为MVC与MVVM两种,在这里不做过多的区分,有兴趣的同学可以看看唐巧大神的一篇文章《被误解的MVC和被神化的MVVM》。
   
UITableViewCell应该是iOS开发中使用最多的控件之一,MVC模式也是主流,那么将这两者结合起来,必然能大大的提升我们的代码质量。
   
MVC模式,Model—View—Controller,按照这个逻辑,能使代码进行明确的分工,相应的类只干该干的事,这样不仅大大的提高了代码的耦合性,能便于后期的维护。
   
那么首先,我们新建一个类,取名MyCell,继承自UITableViewCell类。我们在这个类里自定义我们想自定义的结构,以后在Controller只要给这个类新建对象就可以了。回想上一次的UITableViewCell的复用机制,我们不难想到初始化方法,我们给初始化方法做一次重写,代码如下:

  • (id)initWithStyle:(UITableViewCellStyle)style
    reuseIdentifier:(NSString *)reuseIdentifier{

    self = [superinitWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self) {

        // Initialization code

        [self createUI];

    }

    returnself;

}

     这里我们给UI页面的定制,单独写成一个方法,然后去进行我们自己的定制

 

– (void)createUI{

    _iconView =
[[UIImageView alloc]initWithFrame:CGRectMake(5, 5, 70, 70)];

    [self.contentView addSubview:_iconView];

    _nameLabel =
[[UILabel alloc]initWithFrame:CGRectMake(80, 5, 230, 25)];

    _nameLabel.font = [UIFont systemFontOfSize:16];

    _nameLabel.textColor = [UIColor blackColor];

    [self.contentView addSubview:_nameLabel];

    _priceLabel =
[[UILabel alloc]initWithFrame:CGRectMake(80, 30, 230, 25)];

    _priceLabel.font = [UIFont systemFontOfSize:14];

    _priceLabel.textColor = [UIColor redColor];

    [self.contentView  addSubview:_priceLabel];    

    _detailLabel =
[[UILabel alloc]initWithFrame:CGRectMake(80, 55, 230, 25)];

    _detailLabel.font = [UIFont systemFontOfSize:12];

    _detailLabel.textColor = [UIColor grayColor];

    [self.contentView addSubview:_detailLabel]; 

}

   
可以看到,我们在当前的cell上,自定义了一个UIImageView用来加载图片,三个UILable用来展示相应的信息。一般来说,Controller里面采用的是self.view
addSubview的方式来加载控件,同样的,UITableViewCell也是一个View,但是它就不能用view ,而是用contentView来加载,这个以后再提。于是这样我们就能将我们需要的设计,在我们这个cell里实现了。

   
在日常的开发工作中,很少有将数据写死的,通常都是从后台通过请求接受数据,然后将数据再根据需要加载到相应的控件上,所以对于我们来说,控件是可变的,控件上的数据是可变的,这样的话,我们就将所需要的数据单独抽取出来建成一个模型。分析一下需求与代码,我们现在需要的是一个UIImageView的image与三个UILable的text信息,所以,我们将这些属性单独抽取出来作为我们这个cell的模型。

   
新建一个MyModel类,这个类继承自NSObject,里面放的就是我们cell的属性,代码如下:

    @property (retain, nonatomic) UIImage *icon;

    @property (copy, nonatomic) NSString *nameStr;

    @property (copy, nonatomic) NSString *priceStr;

    @property (copy, nonatomic) NSString *detailStr;

注意:因为我们这个类是需要让其他的类引用,并且是需要接受数据的,所以应该写在.h文件,interface下面。

到这里,我们的MVC的思想大致就出来了,但是还有一个问题,那就是如何让cell与自己的模型相关联起来。我们需要在cell中往外暴露一个方法,去接收模型,同样的原因,我们在cell的.h文件中声明这个方法:

– (void)customWithMyModel:(MyModel *)bm;

然后在cell的.m文件中来实现这个方法,参数类型就是我们自定义的这个模型类

 

– (void)customWithMyModel:(MyModel *)bm{

    _iconView.image = bm.icon;

    _nameLabel.text = bm.nameStr;

    _priceLabel.text = bm.priceStr;

    _detailLabel.text = bm.detailStr;

}

到这里为止,我们的自定义部分基本就结束了,接下来就是在Controller里面去使用我们自定义的Cell了

 

– (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath{   

    staticNSString *idt= @”idt”;

    MyCell *cell = [tableView dequeueReusableCellWithIdentifier:idt];

    if (!cell) {

        cell =
[[MyCell alloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:idt];

    }

    MyModel *mm= [_dataArrobjectAtIndex:indexPath.row-1];

    //将数据模型传给cell,让cell设置图片及文字

    [cell customWithMyModel:mm];  

    return cell;

}

这样就能创建一个我们自定义的,使用MVC思想架构的cell了,数据怎么接?那就是另外一篇笔记了哈哈。

 

 

 

 

 

 

在iOS的开发过程中,架构思想是很重要的一部分,目前的主流应该分为MVC与MVVM两种,…

win7系统自带画图工具提示已停止工作的解决办法

有Win7系统用户在使用系统自带的画图工具时提示“画图软件已停止工作,windows可以尝试恢复您的信息”。硬件冲突、软件不兼容等都会出现此类问题,出现这种问题一般都是系统与软件的不兼容导致的。下面就为大家介绍win7系统自带画图软件提示已停止工作的解决办法。

图片 1
    
1、首先可能是由于第三方软件干扰造成的,建议您将所有第三方软件卸载;

2、同时按下Win键+X,选择命令提示符(管理员),然后输入以下指令(也可以右键复制粘贴):

     Dism /Online /Cleanup-Image /ScanHealth
     Dism /Online /Cleanup-Image /CheckHealth
     Dism /Online /Cleanup-Image /RestoreHealth
     sfc/scannow
    
3、一般系统自带的软件出现运行故障,如可以尝试使用上面的命令来修复,要是在电脑中仅仅是“图画”不工作,系统运行正常的话,可以使用其他“图像处理软件”替代。

以上就是win7系统自带画图软件提示已停止工作的解决办法,有需要的用户可以试试上述方法解决。

有Win7系统用户在使用系统自带的画图工具时提示画图软件已停止工作,windows可以尝试恢复…

jquery.scrolltotop.js文件

 代码如下

复制代码

/**
 * escrolltotop jquery回到顶部插件,平滑返回顶部、
 *
 * 参数设置
 *   startline : 出现返回顶部按钮离顶部的距离
 *   scrollto : 滚动到距离顶部的距离,或者某个id元素的位置
 *   scrollduration : 平滑滚动时间
 *   fadeduration : 淡入淡出时间 eg:[ 500, 100 ]
[0]淡入、[1]淡出
 *   controlHTML : html代码
 *   className :样式名称
 *   titleName : 回到顶部的title属性
 *   offsetx : 回到顶部 right 偏移位置
 *   offsety : 回到顶部 bottom 偏移位置
 *   anchorkeyword : 猫点链接
 * eg:
 *   $.scrolltotop({
 *    scrollduration: 1000
 *   });
 */
(function($){
 $.scrolltotop = function(options){
  options = jQuery.extend({
   startline : 100,    //出现返回顶部按钮离顶部的距离
   scrollto : 0,     //滚动到距离顶部的距离,或者某个id元素的位置
   scrollduration : 500,   //平滑滚动时间
   fadeduration : [ 500, 100 ], //淡入淡出时间
,[0]淡入、[1]淡出
   controlHTML : ‘<a
href=”javascript:;”><b>回到顶部↑</b></a>’,  //html代码
   className: ”,     //样式名称
   titleName: ‘回到顶部’,    //回到顶部的title属性
   offsetx : 5,     //回到顶部 right 偏移位置
   offsety : 5,     //回到顶部 bottom 偏移位置
   anchorkeyword : ‘#top’,   //猫点链接
  }, options);
  
  var state = {
   isvisible : false,
   shouldvisible : false
  };
  
  var current = this;
  
  var $body,$control,$cssfixedsupport;
  
  var init = function(){
   var iebrws = document.all;
   $cssfixedsupport = !iebrws || iebrws
     && document.compatMode == “CSS1Compat”
     && window.XMLHttpRequest
   $body = (window.opera) ? (document.compatMode == “CSS1Compat” ?
$(‘html’) : $(‘body’)) : $(‘html,body’);
   $control = $(‘<div class=”‘+options.className+'”
id=”topcontrol”>’ + options.controlHTML + ‘</div>’).css({
    position : $cssfixedsupport ? ‘fixed’: ‘absolute’,
    bottom : options.offsety,
    right : options.offsetx,
    opacity : 0,
    cursor : ‘pointer’
   }).attr({
    title : options.titleName
   }).click(function() {
    scrollup();
    return false;
   }).appendTo(‘body’);
   if (document.all && !window.XMLHttpRequest && $control.text() !=
”){
    $control.css({
     width : $control.width()
    });
   }
   togglecontrol();
   $(‘a[href=”‘%20+%20options.anchorkeyword%20+%20′”]’).click(function() {
    scrollup();
    return false;
   });
   $(window).bind(‘scroll resize’, function(e) {
    togglecontrol();
   })
   
   return current;
  };
  
  var scrollup = function() {
   if (!$cssfixedsupport){
    $control.css( {
     opacity : 0
    });
   }
   var dest = isNaN(options.scrollto) ? parseInt(options.scrollto):
options.scrollto;
   if(typeof dest == “string”){
    dest = jQuery(‘#’ + dest).length >= 1 ? jQuery(‘#’ +
dest).offset().top : 0;
   }
   $body.animate( {
    scrollTop : dest
   }, options.scrollduration);
  };

  var keepfixed = function() {
   var $window = jQuery(window);
   var controlx = $window.scrollLeft() + $window.width()
     – $control.width() – options.offsetx;
   var controly = $window.scrollTop() + $window.height()
     – $control.height() – options.offsety;
   $control.css( {
    left : controlx + ‘px’,
    top : controly + ‘px’
   });
  };

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图