Значение типа «CustomTableCell» не имеет делегата-члена [закрыто]

После некоторого запроса в IRC #libgdx функция Gdx.gl.glViewport( int x, int y, int width, int height ) была указана мне. Поэтому вам нужна только одна камера. Просто установите окно просмотра в левой части экрана, затем выполните команды рисования, затем настройте окно просмотра правой стороны экрана и снова нарисуйте. например:

@Override
public void render( float delta )
{
    /*Wipe Screen to black*/
    Gdx.gl.glClearColor( Color.BLACK );
    Gdx.gl.glClear( GL10.GL_COLOR_BUFFER_BIT );

    /*Left Half*/
    Gdx.gl.glViewport( 0,0,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() );
    //Set up camera with viewport in mind
    draw( delta );

    /*Right Half*/
    Gdx.gl.glViewport( Gdx.graphics.getWidth()/2,0,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() );
    //Set up camera again with other viewport in mind
    draw( delta );
}

Вам просто нужно настроить камеру так, чтобы она позиционировалась и преобразовывалась на ограниченный экран так, как вы хотите, а не на весь экран. Вы также можете использовать вторую камеру.

-3
задан Daij-Djan 13 July 2018 в 03:35
поделиться

1 ответ

UITableViewDelegate не нуждается в cell.delegate = self.

Если у вас CustomTableCell есть ваш Custom Delegate, вам нужно только назначить его. Итак, если у вас нет ant Custom Delegate для вашего CustomTableCell, удалите эту строку.

Для методов делегата tableView вы должны добавить это в viewDidLoad ():

yourTableView.delegate = self
yourTableView.dataSource = self

Или подключите его только с помощью StoryBorad.

Ответа на этот вопрос: Как вы создаете делегат ячейки в классе CustomTableCell? Просто любопытно

CustomTableCell.swift:

// Custom protocol 
protocol CustomCellDelegate: NSObjectProtocol {
   // Protocol method
   func someFunctionToPassSomeValue(name: String)
}
class CustomTableCell: UITableVieCell {
   weak var delegate: CustomCellDelegate?

  // Your class implementations and outlets..

  //Call your protocol method in some action, for example in button action
  @IBAction func buttonAction(sender: UIButton) {
    delegate?.someFunctionToPassSomeValue(name: "anyStringValue")
  } 
}

Затем в классе ViewController вам нужно назначить экземпляр пользовательской переменной делегата.

let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier") as! CustomTableCell
cell.delegate = self

И реализовать метод протокола:

extension ViewController: CustomCellDelegate {
   func someFunctionToPassSomeValue(name: String) {
      print("Delegate is working. Value : \(name)")
   }
}
2
ответ дан Sharad Chauhan 17 August 2018 в 13:43
поделиться
  • 1
    Как создать делегат ячейки в классе CustomTableCell? Просто любопытно – cdub 13 July 2018 в 03:43
  • 2
    @cdub Обновлен мой ответ, чтобы показать пример пользовательского делегата. – Sharad Chauhan 13 July 2018 в 03:52
  • 3
    обязательно используйте «делегировать?» **** & quot; (если вы не уверены, что делегат не равен нулю) или «делегировать!» ****. (если вы уверены, что это не ноль), насколько это необязательно. – Sedo 13 July 2018 в 03:53
  • 4
    @ Sedo хороший момент, как я забыл добавить его coz Я печатаю его здесь напрямую. Обновлено. – Sharad Chauhan 13 July 2018 в 03:54
  • 5
    @SharadChauhan Я понял. И "func" перед кнопкойAction. – Sedo 13 July 2018 в 03:56
Другие вопросы по тегам:

Похожие вопросы: