小编Jon*_*eau的帖子

UITableView滚动到特定位置

我正在使用iPhone SDK 3.1.3.我有一个UITableViewController从另一个控制器获取数据.表视图作为子视图添加到主视图中,但框架已设置为不可见.更新表视图框,并通过点击按钮使其在主视图上滑动.

出现表格视图,我滚动到最后一行.如果我选择最后一行,我会用更多数据重新加载表.该表随着更多数据而更新.除了滚动位置始终是顶部之外,一切正常.

我需要滚动位置是我点击以加载更多数据的最后一行.我保存滚动位置并在加载更多数据后调用以下代码.它执行没有问题,但滚动位置始终是顶部.

 [theTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:savedScrollPosition inSection:0] atScrollPosition:savedScrollPosition animated:NO];
Run Code Online (Sandbox Code Playgroud)

以上似乎没有效果.ViewWillAppear: ViewDidAppear:不会触发,我被告知如果视图控制器在代码中被实例化,在这种情况下,这些不会触发.请帮我弄清楚在重新加载表([theTableView reloadData])之后如何以及何时设置滚动位置,以便它位于我单击的行上.

代码重新加载表视图和滚动

 ////performAction will notify the tableviewcontroller which will result in didPerformAction being called
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     if (indexPath.row == lastRow)
     {
       savedScrollPosition = lastRow;
       //perform the action
       [controller performAction];
     }
}

- (void) didPerformAction:(NSNotification *)obj
{
  [theTableView reloadData];
  [theTableView
     scrollToRowAtIndexPath: [NSIndexPath indexPathForRow:savedScrollPosition inSection:0]
     atScrollPosition:UITableViewScrollPositionBottom 
     animated:NO];
}
Run Code Online (Sandbox Code Playgroud)

iphone scroll uitableview uiscrollview

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

访问模板化Django中的表单字段属性

我一直在用django做一些自定义表单,但我不知道如何通过forms.py访问特定表单字段附加的属性.

def putErrorInTitle (cls):
init = cls.__init__

def __init__ (self, *args, **kwargs):
    init(self, *args, **kwargs)
    if self.errors:
        for field_error in self.errors:
            self.fields[field_error].widget.attrs['title'] = self.errors[field_error][0]
            self.fields[field_error].widget.attrs['class'] = "help_text error_field"

cls.__init__ = __init__
return cls
Run Code Online (Sandbox Code Playgroud)

这就是我将这些属性附加到该领域的方式.

<dl class="clearfix two">
 <dd>
  <label for="id_diagnosis">Diagnostico:</label>
   <select class="{{form.id_diagnosis.class}}" id="id_equipment_activity-{{ forloop.counter0 }}-id_diagnosis" name="equipment_activity-{{ forloop.counter0 }}-id_diagnosis">
    {% for x,y in form.fields.id_diagnosis.choices %}
    <option value="{{ x }}" {% ifequal form.id_diagnosis.data|floatformat x|floatformat %}selected="selected"{% endifequal %}>{{ y }}</option>
    {% endfor %}
    <option value="1000" {% ifequal form.id_diagnosis.data|floatformat '1000'|floatformat %}selected="selected"{% endifequal %}>Otro</option>
   </select> …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-forms

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

用手指做一个UIView拖动

我有mainViewController,但我有一个小的UIView,当你点击一个内部被激活MKAnnotationViewMKMapKit,所以我需要UIView为可拖动在屏幕的任何部分.

我的应用的示例屏幕截图:

在此输入图像描述

圆是一个点的例子,我想我可以拖动"小"UIView的任何一点.

我尝试使用,UITapGestureRecognizer但它没有用,因为我的代码不够好,我无法使它可拖动,因为它只是点击,而不是点击和移动.

我希望你能帮助我.

draggable uiview touchesmoved ios uitapgesturerecognizer

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

Sublime Text 3(和2):新安装的词典不起作用

我是一个经验丰富的mac用户,但没有程序员.我正在使用Sublime Text 3(和2)与LaTeX合作.

我从https://github.com/SublimeText/Dictionaries安装了德语词典.所有这些除了AT版本(德语,DE,CH - 分别安装了所有三个文件,.aff,.dic,.txt,共9个文件).下载并将它们放在正确的文件夹中.

是的,我可以在View - > Dictionary - > Language - German - > German(German_de_DE,German_de_CH)下选择它们是,启用拼写检查.

测试我创建一个文件

Haus(德语正确)haus(德语不正确)

狗(正确的dooog(不正确)

随着英语词典的活跃,除了"狗"之外,所有内容都用红色标出.随着德语字典被激活,一切都被强调为红色错误.(我用德语输入的所有内容都标记为错误).对于所有三个安装的德语词典都是如此.对于ST3和ST2.

我在这里结束了我的智慧.有人可以帮忙吗?

text dictionary sublimetext3

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

视频重新定位方向

我写了一个代码来播放我网站上的视频.

它工作正常,但当我旋转手机时,视频从头开始重新启动.

我该如何解决这个问题?

public class ActivityVideoDetail extends Activity {

    private VideoDetail videoDetail;
    private TextView    txtResult;
    // -------------------------
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_activity_video_detail);
        if (savedInstanceState != null)
        {

        }
        else {
            ini();
        }
    }


    // -------------------------
    private void ini() {
        videoDetail = (VideoDetail) getIntent().getExtras().getSerializable(VideoDetail.VIDEO_DETAIL);
        txtResult = (TextView) findViewById(R.id.txtResult);
        txtResult.setText(videoDetail.getVideoTitle());

        Uri uri = Uri.parse(videoDetail.getVideoPath());
        //   Uri uri = Uri.parse("http://daily3gp.com/vids/747.3gp");

        VideoView videoView = (VideoView) findViewById(R.id.videoPlayer);

        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        mediaController.setMediaPlayer(videoView);

        videoView.setMediaController(mediaController);
        videoView.setVideoURI(uri);
        videoView.start();
    }
}
Run Code Online (Sandbox Code Playgroud)

video android rotation

6
推荐指数
2
解决办法
1445
查看次数

IntelliJ使用错误的JDK版本从POM导入项目

我们有一个基于Maven的Android版本,我们刚刚从JDK 6切换到7.

然而,它带来了IntelliJ问题的一部分.每次检测到POM中的更改并重新导入/刷新项目时,它会返回选择旧的"模块SDK",即配置为使用Java 6的模块:

在此输入图像描述

即使我从"平台设置"对话框手动删除这些SDK,它们仍然会重新显示为"Maven Android API 19 Platform(N)",其中N是用于从所有其他(相同)SDK中消除歧义的数字.

我应该提一下,我们在POM中指定了Java 7的目标.我试图设置编译器插件语言级别和maven.compiler.*属性(不确定是否完成相同的事情),没有运气:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.1</version>
  <configuration>
    <source>1.7</source>
    <target>1.7</target>
  </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

IntelliJ应该选择并始终将项目配置为使用Java 7 SDK?我错过了什么吗?

我注意到当我在IntelliJ中完全删除对1.6 SDK的任何引用时问题就消失了.我猜这并不奇怪,但也不可行,因为我还有其他项目仍然依赖于Java 6 SDK的存在.

java android intellij-idea maven

6
推荐指数
2
解决办法
2151
查看次数

如何为apache和django设置mod_wsgi?

我知道已经有很多关于这个主题的信息,但它们非常笨拙,不那么简单和富有表现力.任何人都可以解释我如何使用django和使用mod_wsgiapache

apache django mod-wsgi

5
推荐指数
2
解决办法
4928
查看次数

如何解压缩文件并使用7zip将其复制到特定位置?

我只是尝试在powershell中打开一个zip存档,并将其中的文件移动到特定位置.但它总是只移动zip文件夹.我究竟做错了什么 ?

这就是我现在拥有的:

Get-ChildItem C:\zipplayground\*.zip | % {"C:\Program Files (x86)\7-Zip\7zG.exe";
Move-Item $_ C:\unzipplayground\}
Run Code Online (Sandbox Code Playgroud)

powershell 7zip

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

Spring Security AuthenticationFailureHandler与AuthenticationFailureEvent

我正在使用spring-security 3.1.4,我有一些要求:

  • 监视身份验证是成功还是失败
    • 如果成功,则将用户常规信息放入会话属性中
    • 如果结果是失败,那么;
      • 确定失败原因(帐户已锁定,帐户已过期,凭据已过期,用户已禁用,登录失败尝试超过等)
      • 为咆哮组件生成登录失败消息驻留在login.xhtml中
      • 采取针对失败事件的操作,例如,对于错误的凭据,在db中增加登录失败尝试和/或重定向到页面,例如重新定义凭据

我已经研究并找到了三种解决方案:

  • 实现PhaseListener哪个草率的原因会在
    所有阶段事件中调用它:

public class LoginErrorPhaseListener implements PhaseListener {
  private static final long   serialVersionUID              = -404551400448242299L;

  private static final String MESSAGES_RESOURCE_BUNDLE_NAME = "msgs";
  private static final String ACCESS_DENIED_MESSAGE_KEY     = "accessDeniedMessage";
  private static final String BAD_CREDENTIALS_MESSAGE_KEY   = "badCredentialsMessage";

  @Override
  public void beforePhase(final PhaseEvent arg0) {
    Exception e = (Exception) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(WebAttributes.AUTHENTICATION_EXCEPTION);
      if (e instanceof BadCredentialsException) {
         FacesContext fc = FacesContext.getCurrentInstance();
         ResourceBundle messages = fc.getApplication().getResourceBundle(fc, MESSAGES_RESOURCE_BUNDLE_NAME);
         fc.getExternalContext().getSessionMap().put(WebAttributes.AUTHENTICATION_EXCEPTION, null);
         fc.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, messages.getString(ACCESS_DENIED_MESSAGE_KEY), messages.getString(BAD_CREDENTIALS_MESSAGE_KEY))); …
Run Code Online (Sandbox Code Playgroud)

jsf spring spring-security

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

GCC 原子内置函数,移植到 Windows/Visual Studio

我正在开发一个依赖 GCC 的atomic built-ins 的项目。在将项目移植到 Windows 时,我试图找到 GCC 原子的 Interlocked* 对应项。大多数操作实际上都可用,但我想念应用的操作__ATOMIC_CONSUME__ATOMIC_ACQ_REL内存语义。由于 _*Barrier 内在函数已被弃用,Microsoft建议使用std::atomic(例如atomic_thread_fence)和类似的 C++11 标准。

我想知道:C 程序员应该做什么,我们如何在不使用 C++11 的情况下实现atomicswith__ATOMIC_CONSUME__ATOMIC_ACQ_REL语义的可移植版本?

c windows gcc atomic interlocked

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