小编Dan*_*Ray的帖子

UIButton不听内容模式设置?

firstButton是Custom类型的UIButton.我以编程方式将三个放在一个表的每个单元格中,因此:

[firstButton setImage:markImage forState:UIControlStateNormal];
[firstButton setContentMode:UIViewContentModeScaleAspectFit];
[cell.contentView addSubview:firstButton];
Run Code Online (Sandbox Code Playgroud)

在其他地方,我告诉它clipToBounds.我得到的是图像中心方块的裁剪,而不是它的纵横比例渲染.我已经尝试了很多方法,包括在firstButton.imageView上设置mode属性,这似乎也不起作用.

uibutton contentmode ios

89
推荐指数
6
解决办法
5万
查看次数

使用窥视邻居页面分页UIScrollView

查看iPhone或iPad上的App Store应用程序,特别是显示屏幕截图的应用程序详细信息屏幕上的内容.屏幕截图查看器会显示您正在查看的屏幕截图,以及下一个和上一个屏幕截图的边缘.我需要实现类似的东西.

我如何做到这一点对穷人来说是公平的:我构建了一个UIScrollView并启用了分页并布置了我的内容.我使框架的大小与内容页面相同,但小于屏幕.然后我禁用了clipToBounds,所以ScrollView框架之外的任何东西仍然被绘制.现在我可以看到相邻页面的边缘,但它们在ScrollView之外,因此无法接收滚动触摸.App Store应用程序可让您触摸该事物的整个宽度,包括相邻页面的窥视边缘.

那他们怎么做到的呢?

iphone cocoa-touch uiscrollview

10
推荐指数
1
解决办法
3419
查看次数

我见过最疯狂的JavaScript行为

那是在说些什么.这是基于Maps API v3中的Google地图示例.

<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Google Directions</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;


function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();

    var myOptions = {
      zoom:7,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}

function render() {
    var start;

    if(navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
          start = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
        }, function() {
          handleNoGeolocation(browserSupportFlag);
        });
      } else {
        // Browser doesn't support Geolocation
        handleNoGeolocation();
    } …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps

8
推荐指数
2
解决办法
836
查看次数

为什么这个UIButton没有显示其文本标签?

关于这个UIButton的一切都很好,除了应该在它上面的文本.NSLog表明文本位于正确的位置.是什么赋予了?

UIButton *newTagButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[newTagButton addTarget:self action:@selector(showNewTagField) forControlEvents:UIControlEventTouchUpInside];
newTagButton.titleLabel.text = @"+ New Tag";
NSLog(@"Just set button label to %@", newTagButton.titleLabel.text);
newTagButton.titleLabel.font = [UIFont systemFontOfSize:17];
newTagButton.titleLabel.textColor = [UIColor redColor];
CGSize addtextsize = [newTagButton.titleLabel.text sizeWithFont:[UIFont systemFontOfSize:17]];
CGSize buttonsize = { (addtextsize.width + 20), (addtextsize.height * 1.2) };
newTagButton.frame = CGRectMake(x, y, buttonsize.width, buttonsize.height);
[self.mainView addSubview:newTagButton];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch uibutton

8
推荐指数
1
解决办法
4164
查看次数

用于缓解主题分支的合并冲突的工作流策略

我正在向我的高层阶段出售git.无论如何,他们正在听我们谈论它.有一点我不确定,我想看看人们如何处理这件事.基本上我的问题来自于基本的理解,即允许一对分支越远,它们就越难合并.

我正在考虑提出这个相当简单的工作流程:假设我有一个主(发布)分支,一个开发分支,以及主题分支.不同的开发人员正在研究他们各自的主题分支,将这些主题分支拉到中央仓库并将其推送到中央仓库,因为他们认为自己有工作代码.定期,当开发人员要求这样做时,维护者(在我们的组织中,该人员具有"技术主管"头衔)从他们的功能分支合并到开发分支中,将其放在登台服务器上并进行测试,并且一旦功能完成测试完成后,它与master合并并推向生产.

这是我的问题.开发者应该定期合并他们的主题分支吗?这样做可以确保他们所有人都可以相当干净地合并回dev(或者至少在他们失控之前抓住冲突).我知道我的经理唯一不喜欢的就是,他们必须做的工作是安抚他们的工具,而不是努力为项目提供代码.思考?

git branching-and-merging git-workflow

7
推荐指数
1
解决办法
308
查看次数

春天正在吃</ textarea>标签

在我的Web应用程序(我的第一个Java,Spring,OR Roo)中,我正在构建一个与任何JPA对象无关的表单,它只是一个表单.我真的不想在这里使用JSTL来构建我的表单,因为此时它们没有数据支持.我正在使用瓷砖来组装页面,所以这种形式的胆量来自一个视图,但除此之外,没有任何关于它的JSP; 这只是一种形式.

在那个表单中,我有一个我写过的文本区域:

<textarea id="whatever" name="whatever"></textarea>
Run Code Online (Sandbox Code Playgroud)

当它出现在屏幕上时,</ textarea>标签消失了.不同的浏览器以不同的方式处理,直到并包括吞噬文本区域内的整个身体HTML的其余部分.

所以我尝试将一些内容放在textarea中.空格和换行符不会改变它的行为,但看起来任何非空格字符都可以.如果我走

<textarea>.</textarea>
Run Code Online (Sandbox Code Playgroud)

...它尊重我的密切textarea标签.但是当然我的文本区域在屏幕上呈现一个点,这不是我想要的.

这是一个已知的问题?难道我做错了什么?

编辑:@bozho:这是我的jsp的一个相关部分:

<div id="notes" class="detailPanel">
    <div class="panelLabel">Notes</div>
    <table >
    <thead><tr><th>Date</th><th>By</th><th>Note</th></tr></thead>
    <tbody id="notesBody"></tbody>
    </table>
    <textarea id="newNote" rows="5" cols="80" >.</textarea>
    <button id="addNewNote" onClick="saveNote();">Add New Note</button>
</div>
Run Code Online (Sandbox Code Playgroud)

绝对没有什么花哨在这里(我在客户端填充行的tbody,这就是为什么这是空的).如果没有倒数第三行中的点,则结果textarea标记不会出现在生成的HTML中.

EDIT2(解决方案):

在听到人们回答的一些关键词后,此URL变为可转发:http://www.jroller.com/komu/entry/textareas_with_jspx

事实证明,当解析jspx页面时,空标签会折叠成一个自动关闭标签,从而打破文本区域.解决方案是在中间放置一个空的jsp:text:

<textarea><jsp:text /></textarea>
Run Code Online (Sandbox Code Playgroud)

(这是愚蠢的,但它确实存在.)

java spring-mvc

6
推荐指数
1
解决办法
2362
查看次数

测试NSArray的内容而不会产生范围错误

我愚蠢地说:

if ([imageCache objectAtIndex:index]) {
Run Code Online (Sandbox Code Playgroud)

问题是,在我第一次通过这个时,我没有把任何东西放在我的身上NSMutableArray *imageCache,并且这有一个范围错误.

我如何询问NSMutableArray它是否有特定索引的任何内容?

iphone objective-c

4
推荐指数
2
解决办法
1183
查看次数

测试对象是否已取消分配

我有一种情况偶尔我的-tableView: numberOfRowsInSection:方法要求解除分配的NSArray的计数.我希望能够测试该阵列的方式,是安全的,不会做出僵尸通话被释放.

我的代码目前看起来像:

-(NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section
{
    if (! self.offers){
        return 0;
    }
    return [self.offers count];
}
Run Code Online (Sandbox Code Playgroud)

我只是通过调试程序逐步完成并观察它通过! self.offers测试然后残酷地崩溃[self.offers count].我打开了NSZombies,在那一行我得到了NSLog消息:

-[__NSArrayM count]: message sent to deallocated instance 0x283dc0
Run Code Online (Sandbox Code Playgroud)

所以,无论是self.offers,在这一点上,是不是零,但也没有任何在有效指出.我该如何测试呢?

编辑:感谢强烈的爱,朋友们.我已经想通了,为什么我一直在用我的内存管理的麻烦-它实际上是委托关系,挥之不去的时间比他们有用的问题.请参阅此处以获取我的问题的完整答案: 管理对视图退出时取消分配的对象的调用

iphone objective-c

4
推荐指数
1
解决办法
1万
查看次数

UITableView.tableFooterView中的UIPickerView没有接收拖动触摸

我在表格的页脚中有一个UIPickerView(我计划从中发出"分页"式的表格请求 - 选择器将列出我正在导航的LARGE数据集的可用页面,并让用户跳转直接到数据的任何"页面").

我的选择器接收水龙头; 如果我点击一个不是所选择的选择器的一行,它会进入选择器的中心空间.但是,如果我将手指放在拾取器上,我会滚动TABLE,而不是拾取器内容.

我尝试在我的tableFooterView中安装一个UIView子类,看看我是否可以捕捉到触摸,我可以...但不会触及选择器.接触选择器确实触发了UIView子类-touchesBegan.但不是挑选者本身的那些.

iphone cocoa-touch touch uitableview uipickerview

4
推荐指数
1
解决办法
2818
查看次数

为什么IB没有看到我的IBAction?

我一直盯着这个太久了.

这里没有任何花哨的事情发生,我已经做了好几次,但Interface Builder坚决拒绝为我提供行动目标-(IBAction)slideDirections.我正处于公开发布并感到愚蠢的地步.所以,让我们撕裂.

这是我的.h:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>

@interface PulseDetailController : UIViewController {
    NSDictionary *pulse;
    IBOutlet MKMapView *map;
    IBOutlet UIWebView *directions;
    IBOutlet UIView *directionsSlider;
    BOOL directionsExtended;
    IBOutlet UILabel *vendor;
    IBOutlet UILabel *offer;
    IBOutlet UILabel *offerText;
    IBOutlet UILabel *hours;
    IBOutlet UILabel *minutes;
    IBOutlet UILabel *seconds;
    IBOutlet UILabel *distance
}
@property (nonatomic, retain) NSDictionary *pulse;
@property (nonatomic, retain) MKMapView *map;
@property (nonatomic, retain) UIWebView *directions;
@property (nonatomic, retain) UIView *directionsSlider;
@property (nonatomic) BOOL directionsExtended;
@property (nonatomic, retain) UILabel *vendor;
@property …
Run Code Online (Sandbox Code Playgroud)

iphone interface-builder

3
推荐指数
1
解决办法
858
查看次数

释放vs设置为零以释放内存

在我的根视图控制器中,在我的didReceiveMemoryWarning方法中,我经历了几个数据结构(我保存在一个名为DataManager的全局单例中),并抛弃了我所拥有的最重的东西 - 一个或两个可能与二十个相关的图像或三十个或更多数据记录.

现在我正在经历并将这些设置为零.我也在为自己设置一个布尔标志,以便需要这些数据的各种视图控制器可以轻松地重新加载.正是如此:

DataManager *data = [DataManager sharedDataManager];
for (Event *event in data.eventList) {
    event.image = nil;
    event.thumbnail = nil;
}

for (WondrMark *mark in data.wondrMarks) {
    mark.image = nil;
}

[DataManager sharedDataManager].cleanedMemory = YES;
Run Code Online (Sandbox Code Playgroud)

今天我在想......虽然我并不确定当我这样做时,所有分配的内存真的被释放了.我应该代替release这些图片,也许打他们一个新的allocinit当我再次需要他们以后呢?

iphone memory-management objective-c

2
推荐指数
1
解决办法
1222
查看次数

前五个图像中有两个没有点击,但仅限Chrome

观察以下非常简单的构造:

<div id="home_thumbnails"> 
    <img onClick='loadFeature(0);' src='image_1.jpg'> 
    <img onClick='loadFeature(1);' src='image_2.jpg'> 
    <img onClick='loadFeature(2);' src='image_3.jpg'> 
    <img onClick='loadFeature(3);' src='image_4.jpg'> 
    <img onClick='loadFeature(4);' src='image_5.jpg'> 
</div> 
Run Code Online (Sandbox Code Playgroud)

在Firefox中,这与广告完全一样.

但是,在Chrome中,前两个图像不会调用loadFeature .我有一个alert()顶部function loadFeature(),表明该功能甚至没有被前两个调用.然而,剩下的三个人称它为好.

对此的任何解释都将受到很多赞赏

html javascript firefox google-chrome

1
推荐指数
1
解决办法
647
查看次数